项目背景
最近系统中要接入银联支付,刚拿到需求有点懵,没有出发点,就在网上导出搜索关于银联的内容,但是收获不能说没有也只能说是微乎其微了。但是费尽九牛二虎之力,也算摸到一点门路,想就此总结,加深对银联支付的一些了解认识。
业务流程
技术是服务于业务的,所以在出发前先不要着急去找代码实现,要符合自己的业务是如何进行的,那么简单整理我们的需求就是能保证安全支付,能在退款的时候能正常退款到客户即可,围绕这个两块展开业务
官方文档
那么我们带着问题去找答案,我们的业务是关于两方面的,一方面是在h5的支付,另一部分是小程序的,那么在这两个部分中我们就可以在众多繁琐的文档中,找到自己想要的。下面是银联的官方文档:
open.unionpay.com/tjweb/abili…
然后找到我们需要接入的dem中(这里最后联系银联的一些商务人员,开通相关的测试账号等等)
前期准备
那么我们在准备接入系统的时候需要准备那些东西?
- appid
- appkey
- 商户号
- 终端号
- 备案网站
最后让对接银联的同学帮你开通银联的支付渠道即可。
dem实现
那么我们按照上面的业务,我们就有要实现的的就可以分为下面两类了
-
支付
使用银联下单 --> 返回支付参数 --> 前端调起支付请求 --> 用户支付 --> 银联支付回调 -—> 后台支付验证
-
退款
用户发起退款申请 --> 商家申请通过 --> 发起退款 --> 退款回调完成
然后剩下的就是一些拼装参数与发送请求的问题,这个在银联提供的实例代码中也有,虽然是很久之前的代码了,有些jar包需要我们手动下载去导入到自己的仓库中,然后我们就可以顺利的使用了。