支付回调处理流程分析|学习笔记

简介: 快速学习支付回调处理流程分析

开发者学堂课程【RocketMQ 知识精讲与项目实战(第二阶段)支付回调处理流程分析】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/703/detail/12436


支付回调处理流程分析


在完成支付订单创建之后,就要把用户的请求上传到第三方平台。用户在第三方支付平台完成支付后,第三方会回调告诉用户支付的结果,在此我们完善一下支付回调之后应该做的事情。

image.png

首先要根据回调的参数判断用户支付的状态,如果是支付成功的话,流程可以继续往下走,如果是支付失败或者是支付异常,这个支付的流程是要返回去的,等待用户进行下一次的成功支付。

下一步,当支付成功后需要更新一下支付订单的状态,把它改成已支付。

image.png

在创建支付订单时,当时设置的是未支付,当用户支付以后,要将支付的状态改为已支付。

在改完以后还需要更改订单表的信息,还要去操作用户表的用户积分等等,如果下一步和以后的步骤都是通过远程的 RPC 来完成的,那势必会造成一个请求堆积的问题,所以对于下边的更改订单表、更改用户的用户表加积分,包括其他的一些,如果想记录状态的话,想记录用户的支付状态的话都是通过发消息进行处理,所以在这里要先创建一个支付成功的消息。

然后把消息创建出来之后,直接进行发送其实没有太大的问题,但是要考虑一个细节,如果更新订单状态为已支付的消息发送失败,MQ 如果出现了问题,这样数据就没有传输到订单系统,没有传输到用户的服务。所以要把要发送的消息保存到数据库,然后再去 MQ 中去发,发送过去后可以获得发送成功的消息,也就是一个状态,如果可以判断这个状态发送成功就可以把这个数据库里的信息删除掉。

为了保证支付成功的消息可以发送成功,可以先在消息的发送方进行数据库的持久化,然后去发,发成功之后又根据回弹的结果进行数据库信息的删除,这样就可以保证百分百的支付信息发送成功。

这就是关于支付回调处理分析的一个流程。

相关文章
需求分析有点难,ChatGPT来帮你
使用ChatGPT辅助进行论坛Web页面搜索功能需求分析,生成PRD文档,包括改进搜索算法、高级搜索选项、搜索结果页面改进和响应时间优化。在分析阶段,关注了每个需求的细节,如关键词匹配、个性化推荐、用户界面设计和性能优化。作为测试工程师,提炼出测试点,包括异常场景测试,确保系统在各种条件下稳定运行。实践中强调明确需求、拆分任务、修正回复和角色定位。
|
机器学习/深度学习 监控 算法
信用风险评估评分卡建模方法及原理| 学习笔记
快速学习信用风险评估评分卡建模方法及原理。
信用风险评估评分卡建模方法及原理| 学习笔记
|
Java 数据库连接 开发者
Mybatis Plus公共字段自动填充(MyMetaObjectHandler)
Mybatis Plus公共字段自动填充(MyMetaObjectHandler)
996 0
|
8月前
|
人工智能 运维 监控
运维不再背锅侠:人工智能才是真正的“救火队长”!
运维不再背锅侠:人工智能才是真正的“救火队长”!
201 7
订单支付异常情况处理
订单支付异常情况处理
739 1
|
Java API Maven
第三方支付API支付宝支付申请流程 支付宝新老版本
第三方支付API支付宝支付申请流程 支付宝新老版本
525 0
|
机器学习/深度学习 算法 Python
深度学习入门(3)神经网络参数梯度的计算方式
深度学习入门(3)神经网络参数梯度的计算方式
深度学习入门(3)神经网络参数梯度的计算方式
|
前端开发 JavaScript
vue 前端参值后端接收的几种方式
vue 前端参值后端接收的几种方式
256 0