订单下单及微信支付宝支付流程图
2021-07-19 14:16:47 80 举报
下订单支付之客户端和服务端的交互
作者其他创作
大纲/内容
调用事务,库存数减去商品下单数,库存是否不足?
微信
更新order_info表中微信支付第三方支付流水号字段third_order_sn
用户下完订单
微信第三方调用wxNotify 回调方法,返回是否支付成功、是否过期?
调用getWechatpay方法,将微信支付的相关配置和订单相关组成API要求提交的各种数据字段集合,然后发送HTTPS的Post请求到统一下单API地址:https://api.mch.weixin.qq.com/pay/unifiedorder
遍历订单中所有商品数据,分别入库order_goods表,同隶属一个订单号
是
生成13位随机订单号,订单相关的数据入库order_info
客户端调用创建订单接口(createorder)传入订单信息
计算并更新订单表的商品总价
支付是否成功?
微信通过支付参数通过调用SDK调起微信支付让用户在有限时间内输入密码进行支付
否
用户选择是支付宝支付还是微信支付?
回调成功,同时更新order_info表中微信支付第三方支付流水号字段third_order_sn
同时客户端调用updatepaystatus接口,更新order_info表中的支付状态字段pay_status为2付款处理中
微信、支付宝
支付宝
抛出异常,status=0message(库存不足的商品id)
根据prepay_id生成带签名的客户端支付信息发给微信
解密订单中商品数据,商品数据是否为空?
同时会生成预支付交易会话标识prepay_id
客户端调用createpay支付接口
支付宝回调(aliNotify),接受支付宝传来的异步回调参数,调用rsaCheckV1方法进行验签操作
支付失败
订单创建成功,返订单号order_sn给客户端
商品数据(商品id、商品数量)、用户id、收货人姓名、收货人地址、电话、订单备注
返回状态码return_code是否为成功?
调用getAlipay方法,将支付宝相关配置参数与订单参数组成支付宝签名字符串,使用RSA的加签方法生成签名发送给客户端
订单创建失败结束
更新order_info表中的支付状态字段pay_status为1
客户端通过支付参数及签名,通过调用SDK调起支付宝支付让用户在有限时间内输入密码进行支付
结束
支付成功,order_info表中的支付状态字段pay_status为3已付款
0 条评论
下一页