1. 前言
在现在的互联网商业系统中,在线支付功能为作最普及的功能之一,那么我现在以实际项目为依据分享一下在线支付功能的设计。
目前社会上在线支付功能一般来说有两种实现方式,一种是调用各个银行提供的接口,另一种是使用第三方集成好的支付功能。两种方式各有优劣,这个相信行内人士都是非常了解的了。对于第三方支付来说会需要提交企业5证来验证,还会有部分手续费,但是实现起来就非常方便了。对于直接使用银联接口的话就是使用起来必来麻烦,要为各个银行写接口实现,但是相比起来就更加安全了。
本文主要讲的是使用第三方支付平台来整合到项目中,实现实际的支付功能。本文使用的例程是一个真实的支付过程。
2. 在线支付
现在我以真实系统(互联网yy系统)为例说明在线支付的功能。
具体流程如下:
1. 小程序端选择需要支付的订单并调用服务端getPayInfo接口发起支付。
2. 服务端收到请求订单号先更新对应订单的支付方式与支付时间等基础信息。
3. 为了保证支付数据的一致性,服务在向支付平台转发支付请求之前需要先通知院端这笔支付数据,我们称之为预支付。
4. 院端预支付完成后,将返回服务端具体的院端流水号等信息。
5. 服务端收到院端返回的流水号后,才向支付平台发起最终的支付请求。
6. 工行支付平台会根据请求订单参数,返回支付页面的HTML内容。
7. 服务端收到支付平台的返回的支付PayUrl页面内容,进行必要封装返回客户端。
8. 客户端根据获取的PayUrl内容,直接向支付平台发起支付请求。
9. 客户端根据