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

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

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

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


支付回调处理流程分析


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

image.png

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

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

image.png

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

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

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

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

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

相关文章
|
6月前
基于若依的ruoyi-nbcio流程管理系统支持支持定时边界事件和定时捕获事件
基于若依的ruoyi-nbcio流程管理系统支持支持定时边界事件和定时捕获事件
85 2
|
6月前
|
移动开发 前端开发
基于若依的ruoyi-nbcio流程管理系统自定义业务回写状态的一种新方法(二)
基于若依的ruoyi-nbcio流程管理系统自定义业务回写状态的一种新方法(二)
72 2
|
6月前
|
移动开发 前端开发
基于若依的ruoyi-nbcio流程管理系统自定义业务回写状态的一种新方法(一)
基于若依的ruoyi-nbcio流程管理系统自定义业务回写状态的一种新方法(一)
75 1
|
数据处理
从数据处理到演示的处理流程
从数据处理到演示的处理流程
32 0
|
Linux 调度
linux中断处理流程总结
linux中断处理流程总结
519 0
|
编解码 内存技术
Audio基本概念及处理流程
Audio基本概念及处理流程
Audio基本概念及处理流程
|
消息中间件 监控 数据处理
支付回调问题分析和解决方式|学习笔记
快速学习支付回调问题分析和解决方式
508 0
支付回调问题分析和解决方式|学习笔记
消息转发流程分析
1. 先来看下动态方法决议的分析;2. 通过instrumentObjcMessageSends来辅助分析;3. 有关反汇编;
193 0
消息转发流程分析
|
缓存 Java 网络安全
SSO处理流程|学习笔记
快速学习SSO处理流程
SSO处理流程|学习笔记
|
SQL 关系型数据库 数据库
PostgreSQL逻辑订阅处理流程解析
PostgreSQL逻辑订阅处理流程解析
2018 0