在线支付功能设计

本文详细介绍了在线支付功能的设计流程,从调用第三方支付平台到服务端处理,包括预支付、实际支付请求和支付回调通知。同时,讨论了支付补偿的重要性,特别是在分布式事务中的2PC解决方案,通过定时任务监控支付状态,确保事务一致性。文中提到了未支付、支付中和退款中的补偿策略,以应对支付过程中的异常情况。
摘要由CSDN通过智能技术生成
1. 前言

       在现在的互联网商业系统中,在线支付功能为作最普及的功能之一,那么我现在以实际项目为依据分享一下在线支付功能的设计。
       目前社会上在线支付功能一般来说有两种实现方式,一种是调用各个银行提供的接口,另一种是使用第三方集成好的支付功能。两种方式各有优劣,这个相信行内人士都是非常了解的了。对于第三方支付来说会需要提交企业5证来验证,还会有部分手续费,但是实现起来就非常方便了。对于直接使用银联接口的话就是使用起来必来麻烦,要为各个银行写接口实现,但是相比起来就更加安全了。
本文主要讲的是使用第三方支付平台来整合到项目中,实现实际的支付功能。本文使用的例程是一个真实的支付过程。

2. 在线支付

现在我以真实系统(互联网yy系统)为例说明在线支付的功能。
具体流程如下:
1. 小程序端选择需要支付的订单并调用服务端getPayInfo接口发起支付。
2. 服务端收到请求订单号先更新对应订单的支付方式与支付时间等基础信息。
3. 为了保证支付数据的一致性,服务在向支付平台转发支付请求之前需要先通知院端这笔支付数据,我们称之为预支付。
4. 院端预支付完成后,将返回服务端具体的院端流水号等信息。
5. 服务端收到院端返回的流水号后,才向支付平台发起最终的支付请求。
6. 工行支付平台会根据请求订单参数,返回支付页面的HTML内容。
7. 服务端收到支付平台的返回的支付PayUrl页面内容,进行必要封装返回客户端。
8. 客户端根据获取的PayUrl内容,直接向支付平台发起支付请求。
9. 客户端根据

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黒木涯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值