业务需要,前段时间做了一下银联对接,包括了银行信息实名认证以及预授权交易方面。
银联对接也是相当耗时的一件事,这里留存一下自己的成果。
首先需要去银联申请对接资格,然后拿到对应的对接的资料(包括测试商户,demo,文档等)。
列一下大致步骤和一些问题的说明:
一、根据demo 构建自己的接口服务。
二、开发完成,测试及准备:
1、去下载对应的商户私有证书(.pfx)
2、商户开通提供的cp-test.cer
3、根据自己具体的文件位置设置对应的配置文件中的路劲
4、配置好自己的 业务编号(busiType:1045)、接口地址(测试与正式)
5、请求银联方打开自己的ip限制
6、需在银联方解开业务编号对应的权限限制
7、开通权限后,参数中的authFlag 上送 1(已授权)
原因:
8、返回:
银联需要配置相应商户路由,截图给对接方就能帮你处理了。
调用我自己写好的服务(写单独对接起的服务)对接成功:
预授权:
一样和认证需要商户交易证书这些,去测试平台申请;
参照接口文档1.7进行开发:
1、对接签约短信接口获取签约上报用的短信码。
2、通过短信码进行信用卡签约。
3、交易订单预授权发起。
4、发起成功后,该笔订单就可以做预授权完成以及预授权撤销(具体业务段会调用对应的接口)
以上步骤预授权周期就算完成。
细节问题:
1、任何请求都需要签名以及回调的验签(确保收到是由Chinapay发出)。
2、在Chinapay的异步回调中,其中的签名串需要进行先url编码再进行url解码的操作(因为签名中有“+”号这样的特殊字符如果直接进行解码操作会丢失掉+号导致验签失败)。
3、在对接预授权中的所有接口时都会上报订单号,要注意的是:
1、签约获取短信和签约接口的订单号必须一致。
2、交易预授权发起接口和完成/撤销接口的订单号必须要与1点中的订单号不一致,切各自也不能相同。
4、预授权发起接口是有异步回调的(需要使用方提供接受回调的接口)。
5、发起预授权的订单时间不能超过24小时(这是银联接口的限制)。
具体测试:
1、短信接口:
2、签约接口:
3、预授权发起:
4、预授权完成/撤销: