谈谈银联 js 支付

业务场景:银联 JS 支付指二维码为收单机构订单的 URL,用户扫描二维码后在 APP 浏览器中打开收单机构的 H5 页面,收单机构在确认支付后调用银联统一网关,由银联调用 APP 完成支付的场景。

银联 JS 支付为丰富 APP 受理范围,现中国银联正在积极推动包括各大行、京东、携程等在内等其他银联标准 APP 银联 JS 支付付款侧改造。现已支持云闪付 APP、交通银行手机银行、交通银行买单吧、中信动卡空间、浦发喜大普奔、京东金融。其他银行APP正在陆续改造中。

现在整理下接入流程,希望对接入过程中有问题的朋友提供些参考。整个流程主要分为关键的 3 个步骤:

1、获取临时用户授权

2、获取用户唯一标识

3、下单获取支付链接,并拉起支付控件,完成支付

获取临时用户授权和获取用户唯一标识,交互流程如下:

 

关键点:

1、获取临时用户授权,请求地址 https://qr.95516.com/qrcGtwWeb-web/api/userAuthversion=1.0.0

&redirectUrl=callbackUrl,回调回来时 callbackUrl 后面添加 userAuthCode 和 respCode 两个参数, respCode=00标识成功, userAuthCode 为后台获取 APP 用户信息的临时授权码。

2、userAuthCode 访问有效期 5 分钟。

3、获取用户标识,需拿 userAuthCode 和 银联支付标识 appUpIdentifier 置换。其中appUpIdentifier 的获取方式:通过用户请求的 HTTP 中的 User Agent 截取,银联支付标识的格式为“UnionPay/<版本号><App标识>”,从前往后截取,匹配“UnionPay/”作为开始,至英文空格之间的内容为版本号(如 1.0、1.1、2.0),从英文空格开始,至非字母非数字结束,之间的内容为每一个 APP 的特殊标识。

 

下单的交互流程如下:

 

关键点:

1、下单时,需要传入获取的用户唯一标识和用户客户端的真实 ip 地址(银联将对此进行安全控制)。

2、下单成功拿到 pay_url ,后端直接 301 重定向返回给浏览器,即可拉起对应 APP 的支付控件完成支付。

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值