支付回调新流程
2019-12-13 14:33:23 0 举报
流程图
作者其他创作
大纲/内容
是
异步调用
是否成功
同步曼哈顿订单
是否核销成功
否
开始
订单商品表订单状态设置状态为3(未发货)
订单商品表订单状态到1(确认收货),商品配送情况到2(已收货)
是否银联
创建子订单
调用退款接口
库存加1
结束
订单商品表订单状态到0(未确认),商品配送情况到3(备货中)
发券
订单状态更新到3(已取消)
更新订单状态到6(退款)
生成一笔退款成功的订单
取锁
冲正优惠券
支付溯源
是否电子券
更新订单溯源状态
待修改
发券接口后面封装成一个服务,返回如下参数:是否结束发券是否成功订单商品表订单状态订单商品表配送状态
触发曼哈顿退款
更新订单表
加库存
退款
退款溯源
商品信息来源是goods_array库存区分redis、限时抢购
退款是否成功
退款溯源是否成功
更新订单商品表
原来的逻辑是在退款时查询曼哈顿系统是否可以退款,不能退款直接返回
防收银台重复回调放跑批取消长时间未支付订单
校验
核销优惠券
调用曼哈顿是否允许退款
订单商品表订单状态到2(已取消),商品配送情况到0(未发货)
超时记表,当作成功处理
是,返回outorderid
订单商品状态更新到2(已取消)
1、这里退款接口的顺序做了调整2、电子券这里的退款状态是6、22、243、支付溯源做了mq消息,退款溯源还是商城去做,可能存在延迟4、这里的退款溯源做了重试+等待5、没有区分银联6、没有区分腾讯商城
发券是否成功
是否八维通
电子券退款流程
订单推送活动
更新状态到24(失败)
记录要补偿的曼哈顿订单,跑批去曼哈顿查询订单,更新outorderid或者退款
退款流程
接口调用失败,使用日志记录
更新订单支付流水、积分、现金、状态(3取消)
延迟队列MQ通知
发券失败流程
是否腾讯商城
查询曼哈顿是否可以发起退款
是否四川钱通、公象
更新paysql、real_mount、real_points、planNum、outorderid、bankid,如果包含了子订单需要将主订单置为3(取消)
更新状态到22(成功)
是否曼哈顿
发券失败退款流程
加一把订单支付回调的分布式锁。1、跑批,处理具体某一条订单时尝试获取这把锁,获取不到则等待,发现状态是0则取消这一条数据,否则不处理。2、支付回调时尝试获取这把锁,获取不到则等待,如果状态不是0,则返回
生成一笔退款中的订单
0 条评论
下一页