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

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

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

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


支付回调处理流程分析


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

image.png

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

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

image.png

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

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

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

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

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

相关文章
|
机器学习/深度学习 监控 算法
信用风险评估评分卡建模方法及原理| 学习笔记
快速学习信用风险评估评分卡建模方法及原理。
信用风险评估评分卡建模方法及原理| 学习笔记
|
Windows
电脑win系统开机自动运行批处理、脚本等的方法/开机自动执行bat脚本
电脑win系统开机自动运行批处理、脚本等的方法/开机自动执行bat脚本
1559 0
|
3月前
|
弹性计算 容灾 数据库
2026年阿里云服务器地域与可用区全解析:分布、选择与机房查询
阿里云服务器的地域与可用区布局是保障业务稳定性、降低访问延迟的核心基础。其全球数据中心覆盖多国家和地区,国内以北京、杭州、上海等为核心节点,海外延伸至新加坡、东京、法兰克福等关键城市,不同地域与可用区在网络、容灾能力上差异显著。本文结合官方最新数据,详解地域与可用区的概念、分布规律、选择逻辑及机房地址查询方法,为业务部署提供客观参考。
|
开发工具 git Python
安装和使用`libnum`是一个用于数字理论函数的Python库
【6月更文挑战第19天】`libnum`是Python的数字理论函数库。安装可通过`git clone`,进入目录后运行`python setup.py install`,也可用`pip install libnum`。示例:使用`int_to_hex`将十进制数42转换为十六进制字符串'2a'。注意,信息可能已过时,应查最新文档以确保准确性。如遇问题,参考GitHub仓库或寻求社区帮助。
434 1
|
Java API Maven
第三方支付API支付宝支付申请流程 支付宝新老版本
第三方支付API支付宝支付申请流程 支付宝新老版本
630 0
订单支付异常情况处理
订单支付异常情况处理
916 1
|
机器学习/深度学习 算法 Python
深度学习入门(3)神经网络参数梯度的计算方式
深度学习入门(3)神经网络参数梯度的计算方式
深度学习入门(3)神经网络参数梯度的计算方式
|
前端开发 JavaScript
vue 前端参值后端接收的几种方式
vue 前端参值后端接收的几种方式
331 0
|
存储 缓存 安全
Go Channel详解
Go Channel详解
703 1
|
Web App开发 移动开发 Android开发
解决IOS Safari浏览器H5页面上下滑动时卡顿、页面缺失的问题
解决IOS Safari浏览器H5页面上下滑动时卡顿、页面缺失的问题

热门文章

最新文章