首页新闻找找看学习计划

电商订单支付问题

0
悬赏园豆:100 [已解决问题] 解决于 2019-08-30 15:50

请教一个电商系统中的业务问题(微信支付、ping++聚合支付)
创建订单,完成订单付款动作,等待支付回调的过程中,如果用户手动取消订单,业务上面应该怎么处理。

目前,我们系统的处理方式是--->因为你取消了订单,但是支付回调还没有成功,所以状态上面的话,其实还是未支付,只能进行订单商品的库存返还操作,修改订单状态为已取消;

又由于你订单状态已取消,当支付成功回调时,你这个已取消的订单面对回调业务上面又该如何正确处理呢?

如果是建议取消之前查询一下订单的支付情况的话,需要支付回调成功才能够拿到查询的chargeNo,所以也不好准确的查询订单的支付情况?

当然这种情况比较少,一般付款动作完成之后,支付回调就会马上成功,但是理论上存在这种可能性,支付成功回调延时了(网络原因等)

欢迎,提供思路,谢谢

Mr_伍先生的主页 Mr_伍先生 | 初学一级 | 园豆:24
提问于:2019-07-25 13:50
< >
分享
最佳答案
0

方法有很多种,
第一种:强势点的,去掉取消按钮,不让主动取消,等系统30分钟任务自动取消。
第二种:回调的时候,检查订单状态,如果重复支付或者订单取消,在订单状态设置为异常。
可以让用户自己打电话要求退款,最好是不要自动退款。

收获园豆:30
Eric.luo | 小虾三级 |园豆:834 | 2019-07-30 14:50
其他回答(3)
0

退款呀,回调回来发现是已经取消的订单。

收获园豆:20
心雨纷扬 | 园豆:190 (初学一级) | 2019-07-25 14:14

还有就是如果有同步支付回调,在回调回来的页面,不要自动跳转到订单列表,给个中间界面逗留。
延长用户进入订单列表进行取消操作的时间。

支持(0) 反对(0) 心雨纷扬 | 园豆:190 (初学一级) | 2019-07-25 14:42

@心雨纷扬: 你的这种做法算是一个折中的方案吧,我们其实目前也是这样操作的,但是如果用户操作足够熟练,你的支付成功回调延时足够久的话,还是会存在上述我所说的那种情况的发生

支持(0) 反对(0) Mr_伍先生 | 园豆:24 (初学一级) | 2019-07-26 17:54

@Mr_伍先生: 当然有这种情况产生,这种异常就只能退款

支持(0) 反对(0) 心雨纷扬 | 园豆:190 (初学一级) | 2019-07-26 18:22
0

当用户微信支付、取消我们前台可以获取到状态的,这个时候根据商户订单号主动查一下

收获园豆:30
分进合击 | 园豆:127 (初学一级) | 2019-07-25 15:05
0

你这个回调 都是 通过什么去请求 然后 回调的呢?ajax? 如果是ajax 可能就会有一系列的问题。推送消息 我感觉还是用websocket去推送 比较好一点

收获园豆:20
^keepHungry$ | 园豆:610 (小虾三级) | 2019-07-26 17:33

这个回调,如果是微信支付的话就是微信发起的回调;如果是ping++支付的话,就是ping++发起的回调,不需要我们发送请求;

这里也不涉及到推送消息呀;

感觉没有回答到点子上面去

支持(0) 反对(0) Mr_伍先生 | 园豆:24 (初学一级) | 2019-07-26 17:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册