Java 支付对接之微信/支付宝扫码支付(也就是H5支付)
写在前面:
具体对接请参考接口文档,对接文档写的会更详细,本文只探讨支付实现思路
支付流程:
基本上支付功能的对接都差不多,我把它简化为3步:
支付实现流程:
这一步可以按需求设计,我这边是设计一个二维码,也可以使用其他方式诱导用户进入获取账单信息
在获取账单信息的同时调用支付微信/支付宝提供的统一下单接口,获取支付URL
在调用统一下单接口时除了商品的基本信息外还需要生成一个支付订单号,每个支付订单都必须有一个唯一的订单号,支付成功会原样返回,用于确保订单的唯一性;并且需要上传商户收费账单号,支付成功回调时也会原样返回,用于确认账单支付状态。
在支付成功异步回调的接口中拿到回调数据后:
第一步,先验签,先判断回调数据是否合法;
第二步,拿到支付订单号(每一笔支付订单都有唯一的订单号),用于判断是否重复回调,因为有可能因为网络等原因,会重复收到支付成功通知;
第三步,保存支付成功回调信息,每一个支付完的信息都要保存好,方便后续查看,并且要用于判断是否重复回调;
第四步,拿到回调信息中商户订单号,也就是调用统一下单接口时上传的收费账单号,拿到收费账单号后调出未支付收费账单并修改支付状态,以及处理一下需要支付完成后才能执行的操作,比如说开闸。
最后,业务处理结束后记得再回复“SUCCESS",因为如果你没有回复接收成的话他们会误以为你没有收到,然后再给你发一次。
总结 :
一、对支付第三方的理解
- 对接支付第三方实际上就是两个平台之间的交互,支付平台需要知道商品的基本信息及商品的价格,商户平台需要知道订单的支付状态、支付金额及支付时间
二、对支付的理解
- 连接起两个平台的其实就两个接口:一个是支付平台提供的统一下单接口,一个是商户平台提供的支付成功回调接口;两个接口都完成才算是一次完整的支付
总结
以上是生活随笔为你收集整理的Java 支付对接之微信/支付宝扫码支付(也就是H5支付)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: UG NX 12 内部草图和外部草图的区
- 下一篇: 音视频处理、图像处理、图像识别和字符识别