微信统一下单流程
2022-01-20 18:10:41 0 举报
微信统一下单流程
作者其他创作
大纲/内容
订单支付状态
1、更新tradeNo2、发送MQ消息
否
订单未支付状态
订单已支付失败
微信统一下单结束
微信统一下单开始
订单是否已经存在本地
插入下单信息
订单已支付成功
其他状态
passengerPrePayRecordService.insertWxOrder
如果是预支付订单
订单支付成功
效验重复下单间隔时间(redisCache)1、先根据orderId校验订单在10s内是否重复下单,未重复下单需要更新缓存最后下单时间2、再校验下单时间,根据orderid和timestamp两个参数获取缓存,rpc接口10s内重复调用,未重复调用需要更新缓存
返回异常已支付成功,不可重复支付
查询该订单号的最新一笔支付记录1、先去MySQL数据库passengerPrePayRecord/passengerPayRecord查记录2、若为空,则查询MongoDB记录
查询第三方接口1、获取支付配置2、请求微信接口查询状态
如果不是预支付订单
是
获取微信相关配置1、先根据商户号和appid获取2、如果商户号和appid为空,则根据城市code和业务类型乘客端以及支付方式获取
因为订单是支付成功状态,这条流程结束
订单状态是否是未支付
开始下单1、设置微信支付请求参数2、选择支付方式创建渠道,不同支付方式调用不同的第三方接口3、获取第三方接口响应,解析参数,返回给调用方
返回FAIL,结束
返回上个方法
1、订单已支付:发送MQ消息2、订单未支付/支付失败:设置状态为失败
发送RocketMQ消息给订单服务,回调通知
0 条评论
下一页