微信扫码支付流程详解(附时序图)
微信扫码原生支付的整个流程如下:
商户后台系统生成订单商户后台系统调用微信支付API微信支付系统生成预支付交易并返回给商户后台系统商户后台系统将链接生成二维码图片(code_url)并展示给用户用户打开微信扫一扫二维码微信客户端将扫码链接提交给微信支付系统微信支付系统验证链接有效性并返回需要用户支付授权用户确认支付,输入密码微信客户端将用户的支付授权提交给微信支付系统微信支付系统验证授权,完成支付交易并返回支付结果,发送短信和微信消息提示微信支付系统还会异步通知商户支付结果上述流程处理成时序图如下图所示:


想要看懂这张时序图,还需要了解下面这些内容:
时序图包括四个元素:对象、生命线、激活、消息。
对象:时序图中的对象在交互中扮演的角色就是对象。
如上图中的微信支付用户、微信客户端、商户后台系统、微信支付系统生命线:生命线是一条垂直的虚线,它表示对象的存在。
激活:代表时序图中对象执行一项操作的时期,表示该对象被占用以完成某个任务,当对象处于激活时期,生命线可以拓宽为矩形。
消息:对象之间的交互是通过相互发消息来实现的,箭头上面标出消息名,一个对象可以请求(要求)另一个对象做某件事件。
如图中的商家后台系统调微信支付系统统一下单API,此时用实线表示请求消息;
微信支付系统生成预支付教育,这是自己调用自己的消息,属于一个反身消息;
微信支付系统返回预支付交易链接给到商户后台系统,此时用需求表示响应返回消息。请求消息、响应返回消息、反身消息就是时序图中的三种消息类型。
版权申明
本文系作者 @河马 原创发布在河马博客站点。未经许可,禁止转载。
暂无评论数据