最近呢,比较忙,公司在接入银联全渠道支付,博主接手的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;//O
param["certId"] = UnionpayCertUtil.GetSignCertId();      //证书ID
param["bizType"] = bizType;//M
param["accessType"] =  accessType;//M
param["merId"] = merId;//M
param["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();//M
param["txnTime"] = DateTime.Now.ToString("yyyyMMddHHmmss");//M
param["txnAmt"] = (payfee * 100).ToString("#");//M //用户根据需求可直接填写
param["txnType"] = "01";//M
param["txnSubType"] = "01";//M
param["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支付的更多相关文章

  1. 支付宝支付之扫码支付(电脑网站支付)、H5支付(手机网站支付)相关业务流程分析总结

    前言 在上一篇文章<微信支付之扫码支付.公众号支付.H5支付.小程序支付相关业务流程分析总结>中,分析和总结了微信支付相关支付类型的业务流程,这里作为与微信支付平起平坐不相伯仲的支付宝支付 ...

  2. 黄聪:微信h5支付demo微信H5支付demo非微信浏览器支付demo微信wap支付

    一.首先先确定H5支付权限已经申请! 二.开发流程 1.用户在商户侧完成下单,使用微信支付进行支付 2.由商户后台向微信支付发起下单请求(调用统一下单接口)注:交易类型trade_type=MWEB ...

  3. 微信支付之手机H5支付实践

    最近项目中支付部分涉及到微信支付,使用的是h5支付,官方文档中是没有demo的,所以摸着石头过河,将踩过的坑记录如下. 一 应用场景 H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前 ...

  4. 微信h5支付demo微信H5支付demo非微信浏览器支付demo微信wap支付

    服务项目 新手技术咨询 企业技术咨询 定制开发 服务说明 QQ有问必答 QQ.微信.电话 微信开发.php开发,网站开发,系统定制,小程序开发 价格说明 200元/月 1000/月 商议       ...

  5. 手机网站支付如何接入支付宝简易版支付功能PHP版

    接入支付宝准备工作:(关于账号可以是个体商户也可以是企业账号但必须有营业执照) 1.登录蚂蚁金服开放平台  2.创建应用,应用分类网页应用和移动应用.应用提交审核审核通过后得到Appid才能调用相应的 ...

  6. 用MVC做支付宝手机网页支付问题

    支付宝支付接口手机网页支付 从官网扒下来的demo阿里做得还是相当不错的,只要参数改正确了基本上都是能跑通,WebForm的没什么大问题,这次要讲的主要是几个要注意的问题,因为是用MVC来做. 1.要 ...

  7. 支付宝WAP支付接口开发(Node/Coffee语言)

    此博客不更新很久了, 更新的文档在这, 有兴趣到这里围观: http://neutra.github.io/2013/%E6%94%AF%E4%BB%98%E5%AE%9DWAP%E6%94%AF%E ...

  8. 支付宝WAP支付接口开发

    支付宝WAP支付接口开发 因项目需要,要增加支付宝手机网站支付功能,找了支付宝的样例代码和接口说明,折腾两天搞定,谨以此文作为这两天摸索的总结.由于公司有自己的支付接口,并不直接使用这个接口,所以晚些 ...

  9. 【转】支付宝WAP支付接口开发

    支付宝WAP支付接口开发 因项目需要,要增加支付宝手机网站支付功能,找了支付宝的样例代码和接口说明,折腾两天搞定,谨以此文作为这两天摸索的总结.由于公司有自己的支付接口,并不直接使用这个接口,所以晚些 ...

随机推荐

  1. mint fcitx搜狗输入法不显示输入框,其他输入法丢失皮肤

    mint18.3 因为这个原因刚刚重装过,结果一不留神又这样了. 这次原因相对清晰: 双屏显示下,合屏睡眠,打开之后,发现卡死了.屏幕分辨率改变了似的. 然后再重启,发现输入法悬浮框变大了,然后输入法 ...

  2. Angular 学习笔记 ( 创建 library, 转换老旧的 library )

    更新 : 2018-10-28 不知道为什么在 ng 跑一直做不到 .d.ts 最后发现,如果有一个插件 propagating-hammerjs.ts 那么就在 root create 一个 pro ...

  3. Superclass和Constructor Chaining

    A subclass inherits accessible date fields and methods from its superclass. Does it inherit construc ...

  4. ROS中遇到的一些问题和解决(更新)

    检查 roscore 是否正常打开 [ERROR] Failed to contact master at [localhost:11311]. Retrying... [ERROR] [144653 ...

  5. 分享基于EF+WCF的通用三层架构及解析

    本项目结合EF 4.3及WCF实现了经典三层架构,各层面向接口,WCF实现SOA,Repository封装调用,在此基础上实现了WCFContext,动态服务调用及一个分页的实例. 1. 项目架构图: ...

  6. 20190104xlVBA_在课表里标记自己的课程

    Sub TagMyCourses() Const HEAD_ROW = 3 With ActiveSheet endrow = .Cells.Find("*", .Cells(1, ...

  7. jQuery -- touch事件之滑动判断(左右上下方向)

    $("body").on("touchstart", function(e) { // 判断默认行为是否可以被禁用 if (e.cancelable) { // ...

  8. Spring Batch JSR-305 支持

    本发布版本中为 JSR-305 支持添加了一个注解.这个为了与 Spring 框架中的  Null-safety 注解取得平衡,然后为 Spring Batch 添加为 public APIs. 这个 ...

  9. linux中用户和用户组

    一.用户和组原理 一个用户可以属于多个组,一个组有多个用户 在Linux中操作系统必须依赖组和用户进行管理 二.与用户和组相关的配置文件 1.组相关配置文件 1)/etc/group :管理用户组信息 ...

  10. Linux命令详解-file

    file命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的. 1.命令格式: file [ -bchikL ...