一、背景
在线支付,是我们常见的业务场景,一般我们都会使用微信支付或者支付宝支付接口完成。但是想要学习测试的话是必须开通支付商户的。这个对于想学习使用微信支付的小伙伴来说是一件很不幸的事情,我很早就想学习微信支付,也是无奈没有开通商户,之前的项目也没有做过支付。
自从上个月做项目发现公司调用微信支付是使用的银联接口而不是微信支付接口。这两天经理也是安排我学习银联的公众号支付接口,期间遇到了大大小小的问题,百度又苦于使用银联调用微信支付的人和文章太少。所以决定把银联接口的一些经验分享给大家。
学习使用银联的微信支付功能,是可以不需要开通商户的,注册成为开发者就能够实现,并且接口入参啥的要比微信的支付接口简单的多。
二、产品介绍
公众号支付产品适用于远程支付场景。具体是指商户通过其自有的微信公众号,向用户展示商品信息并进行订单管理。在用户确认支付后调用公众号支付模块,采用微信支付完成交易。
- 公众号支付的交易流程如下图所示
- 公众号支付产品的优势
针对于用户而言:
1、支付体验便利简单
2、支付方式更多样
针对于商户而言:
1、灵活快速的退款及差错处理机制
2、实时获取交易的支付结果
3、支持合并支付与分账,由平台统一发起交易,直接结算给最终商户
4、各移动支付资金合并划付
三、API列表
名称 | 作用 | 应用场景 |
平台下单接口 | 向银商跳转支付 | 本接口为商户的订单H5页面向银商网络支付前置系统发起的 支付跳转。 |
支付结果查询接口 | 查询支付状态 | 钱包支付时,因通讯故障、服务器故障等原因,造成收银机 最终没有收到支付结果通知,收银员不确定该笔支付后台处 理结果,可以在收银机上发起“查询”交易,查询该笔交易订 单在钱包后台的支付结果,并将支付结果返回给收银机。 |
担保撤销接口 | 撤销担保交易 | 对于担保交易(下单接口请求参数中上送了担保交易标识并置 true),用户支付成功后,商户可调用此接口来进行担保撤销 操作。 |
担保完成接口 | 完成担保交易 | 对于担保交易,用户支付成功后,商户可调用此接口来进行担 保完成操作。 |
订单退款接口 | 用于完成退款操作 | 当成功交易之后一段时间内,由于买家或商户的原因需要退款 时,商户可以通过本接口将支付款退还给买家,退款请求验证 成功之后,银商将通知支付渠道方按照退款规则把支付款按原 路退回到买家帐号上。 |
退货查询接口 | 查询退货通知 | 钱包支付时,因通讯故障、服务器故障等原因,造成收银机最 终没有收到退货结果通知,收银员不确定该笔退货后台处理结 果,查询该笔退货交易订单在钱包后台的支付结果,并将退货 结果返回给收银机。 |
订单关闭接口 | 关闭订单 | 用户创建订单之后,对未支付的订单进行关闭操作。 |
结果页面返回 | 返回结果页面 | 如果在下单接口中上送了returnUrl,支付完成后,会首先展示 钱包的结果页面,用户点击完成后页面跳转到returnUrl对应的 地址。 |
支付结果通知 | 通知支付结果 | 支付完成后,银商会向商户的通知地址发送支付结果。商户的 通知地址可以在银商后台配置,也可以在请求中上送。 |
四、 使用银联公众号支付业务
4.1起步
要使用银联接口,首先需要注册成功银联开放平台开发者。进入https://open.chinaums.com/index完成注册与登录,进入账户管理。
进入账户信息管理,查看测试参数。
到此为止,我们已经成为一名银联开放平台开发者,可以进行代码编写了。
4.2接口调用
详细的接口文档可以到https://open.chinaums.com/resources/?code=651539656974952&url=b7abc3a6-0c49-43d4-ad7d-f6dd16ff35eb 进行下载查看。这里不带大家详细讲解,熟悉Post、Get请求的小伙伴一看就懂。下一节我们直接上代码。我们使用C#/.Net代码示例。其他语言参考着写就行,非常简单。