.NET接入UnionPay银联支付(一)手机wap支付
最近呢,比较忙,公司在接入银联全渠道支付,博主接手的wap支付,发表一下博主在接入的时候遇到的坑和注意事项,方便大家学习接入,爬坑的路上更顺利一点~

开发步骤
1. 以表单的方式组装要发送给银联全渠道系统的数据对象(包括IC卡交易信息域,VPC交易信息域,风控信息域等各域)。每个域填写方法可参考文档开发包中接口文档。
2. 将组装好的数据排序好并用&连接后签名,生成signature字段,可使用插件包提供的方法“SDKUtil.sign(未签名报文, 报文字符集);”具体签名机制请参照第8章节。可通过调用插件包提供的签名方法来完成签名。
3. 把所有要发送给银联全渠道系统的域包括signature和signMethod,组成表单以POST方式送给银联全渠道系统前台交易的地址。
4. 交易完成后,银联全渠道系统将把交易结果分别返回通知到商户通的前台应答地址和后台应答地址上,商户接收到交易通知后可分别调用“SDKUtil.convertResultStringToMap(应答报文);”方法进行应答报文解析,和“SDKUtil.validate(应答报文, 报文字符集)”方法进行签名验证。
一.证书坑
官方在测试的时候给了一个测试证书700000000000001_acp.pfx,这个证书我在测试的时候无法获得私钥。
代码1
错误:无法获得指定的程序类型错误
解决方案:换台机器试试...至今没有解决。
二.参数错误
需要的参数:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
param["version"] = version;//M 版本号param["encoding"] = encoding;//Oparam["certId"] = UnionpayCertUtil.GetSignCertId(); //证书IDparam["bizType"] = bizType;//Mparam["accessType"] = accessType;//Mparam["merId"] = merId;//Mparam["signMethod"] = signmethod;param["channelType"] = "08";param["frontUrl"] = "http://localhost:57510/data.core/UnionPay/api.ashx";param["backUrl"] = "http://localhost:57510/data.core/UnionPay/api.ashx";param["orderId"] = serialID.ToString();//Mparam["txnTime"] = DateTime.Now.ToString("yyyyMMddHHmmss");//Mparam["txnAmt"] = (payfee * 100).ToString("#");//M //用户根据需求可直接填写param["txnType"] = "01";//Mparam["txnSubType"] = "01";//Mparam["currencyCode"] = "156"; |
如果你遇到了下面的错误,请根据上面的参数检查一下你的参数是否正确,是不是缺什么参数,注意你的回调地址,请确保url的正确性。
1.没有付款就直接跳至测试接口

2.直接跳转400的页面

支付成功后银联的服务器会回调你的backurl,查询是否支付成功。
最后奉上银联的sdk包,你们会用得到的
sdk.rar
原文地址:http://www.lorna.com.cn/Articles/Index/c11d1b5c-20a1-4b03-bb74-639241ca89f2
.NET接入UnionPay银联支付(一)手机wap支付的更多相关文章
- 支付宝支付之扫码支付(电脑网站支付)、H5支付(手机网站支付)相关业务流程分析总结
前言 在上一篇文章<微信支付之扫码支付.公众号支付.H5支付.小程序支付相关业务流程分析总结>中,分析和总结了微信支付相关支付类型的业务流程,这里作为与微信支付平起平坐不相伯仲的支付宝支付 ...
- 黄聪:微信h5支付demo微信H5支付demo非微信浏览器支付demo微信wap支付
一.首先先确定H5支付权限已经申请! 二.开发流程 1.用户在商户侧完成下单,使用微信支付进行支付 2.由商户后台向微信支付发起下单请求(调用统一下单接口)注:交易类型trade_type=MWEB ...
- 微信支付之手机H5支付实践
最近项目中支付部分涉及到微信支付,使用的是h5支付,官方文档中是没有demo的,所以摸着石头过河,将踩过的坑记录如下. 一 应用场景 H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前 ...
- 微信h5支付demo微信H5支付demo非微信浏览器支付demo微信wap支付
服务项目 新手技术咨询 企业技术咨询 定制开发 服务说明 QQ有问必答 QQ.微信.电话 微信开发.php开发,网站开发,系统定制,小程序开发 价格说明 200元/月 1000/月 商议 ...
- 手机网站支付如何接入支付宝简易版支付功能PHP版
接入支付宝准备工作:(关于账号可以是个体商户也可以是企业账号但必须有营业执照) 1.登录蚂蚁金服开放平台 2.创建应用,应用分类网页应用和移动应用.应用提交审核审核通过后得到Appid才能调用相应的 ...
- 用MVC做支付宝手机网页支付问题
支付宝支付接口手机网页支付 从官网扒下来的demo阿里做得还是相当不错的,只要参数改正确了基本上都是能跑通,WebForm的没什么大问题,这次要讲的主要是几个要注意的问题,因为是用MVC来做. 1.要 ...
- 支付宝WAP支付接口开发(Node/Coffee语言)
此博客不更新很久了, 更新的文档在这, 有兴趣到这里围观: http://neutra.github.io/2013/%E6%94%AF%E4%BB%98%E5%AE%9DWAP%E6%94%AF%E ...
- 支付宝WAP支付接口开发
支付宝WAP支付接口开发 因项目需要,要增加支付宝手机网站支付功能,找了支付宝的样例代码和接口说明,折腾两天搞定,谨以此文作为这两天摸索的总结.由于公司有自己的支付接口,并不直接使用这个接口,所以晚些 ...
- 【转】支付宝WAP支付接口开发
支付宝WAP支付接口开发 因项目需要,要增加支付宝手机网站支付功能,找了支付宝的样例代码和接口说明,折腾两天搞定,谨以此文作为这两天摸索的总结.由于公司有自己的支付接口,并不直接使用这个接口,所以晚些 ...
随机推荐
- 学习笔记31—endnote设置
修改文献引用设置: JournalArticle: Author. (Year). Title. [Translated Title]. [Reviewed Item]. Journal|, Volu ...
- LRU缓存机制
运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制.它应该支持以下操作: 获取数据 get 和 写入数据 put . 获取数据 get(key) - 如果密钥 (key) 存 ...
- linux下安装nginx以及常用命令指南
安装nginx之前,要先在服务器上安装nginx运行所需要的依赖包 目录选择:一般选择 "/usr/local/" 1.安装PCRE库 离线安装包:https://pan.baid ...
- Python学习笔记之参数解析
python提供了两种方法进行命令行的参数解析,分别是getopt和optparse类中的模块OptionParser,下面分别详细了解这两个模块: 1.getopt模块 首先复习C语言的命令行解析: ...
- 数据结构(C语言版)-第8章 排序
8.1 概述 1. 什么是排序? 将一组杂乱无章的数据按一定规律顺次排列起来. 2. 排序的目的是什么? ——便于查找! 3. 什么叫内部排序?什么叫外部排序? 若待排序记录都在内存中,称为内部排序 ...
- ROC曲线(receiver-operating-characteristic curve)-阈值评价标准(转)
转自:http://blog.csdn.net/abcjennifer/article/details/7359370 ROC曲线指受试者工作特征曲线 / 接收器操作特性曲线(receiver ope ...
- You Don't Know JS: this & Object Prototypes (第6章 Behavior Delegation)附加的ES6 class未读
本章深挖原型机制. [[Prototype]]比类更直接和简单! https://github.com/getify/You-Dont-Know-JS/blob/master/this%20%26%2 ...
- p1457 The Castle
原图找最大的房间及房间数很容易.然后从左下到右上找拆的位置.拆掉再bfs一次找面积. #include <iostream> #include <cstdio> #includ ...
- android-------Java 常问的基础面试题
1."=="和equals方法究竟有什么区别? ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个 ...
- MySQL事务(三)
一.事务(Innodb锁)的隔离级别概述 并发事务带来的问题: 更新丢失(lost update):当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,由于每个事务都不知道其他事务的存在,就会 ...