关注
问题描述
在美团点外卖时,提交订单后选择微信支付但不付款,切回后再选择支付宝支付,最终微信和支付宝都可能付款成功,出现一笔订单重复支付的情况。
技术角度分析
- 幂等性问题:同一笔订单通过不同支付渠道多次支付,系统未有效保证操作的幂等性。
- 多阶段原子性问题:支付流程的不同阶段(如选择支付方式、跳转支付渠道等)之间,原子性未得到严格保障。
可能的解决方案
- 聚合支付场景:在创建交易订单前,先判断是否存在处于交易过程中的订单,若有则不允许创建新订单。不过这种方法可能影响用户体验,例如用户误选支付方式且该支付方式余额不足时,可能无法再次尝试其他支付方式。
- 美团的处理方式(推测):允许用户通过不同渠道支付,支付完成后,若回调发现订单已支付,就进行退款处理。这是利用订单号的唯一性来实现的。
- 业务与产品层面:是否退款取决于业务需求和产品策略,存在业务方向上的选择。
测试注意事项
在测试过程中,要保证账户中有足够的资金,避免因账户余额不足而无法完成支付,从而影响对重复支付问题的测试。
查看原帖
点赞 1
相关推荐
04-03 20:19
武汉大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你的实习产出是真实的还是包装的? #
88873次浏览 639人参与
# 简历当中有水分算不算造假? #
176518次浏览 2330人参与
# 在爱玛,骑向未来 #
44728次浏览 436人参与
# 你收到了哪些公司的笔试? #
69330次浏览 446人参与
# 打工人的精神状态 #
154600次浏览 1552人参与
# 百度工作体验 #
332274次浏览 2253人参与
# 你以为的实习VS真实的实习 #
142734次浏览 758人参与
# 备战春招/暑实,现在应该做什么? #
70293次浏览 557人参与
# 距离春招还有一个月,你现在是什么开局? #
62844次浏览 320人参与
# 职场新人体验 #
192855次浏览 1241人参与
# 银行笔面经互助 #
198548次浏览 1326人参与
# 应届生,你找到工作了吗 #
174181次浏览 900人参与
# 工作后,你落下了哪些病根 #
42427次浏览 294人参与
# 机械人,说说你的烦心事 #
148719次浏览 1165人参与
# 毕业季,给职场新人一些建议 #
221371次浏览 2603人参与
# 面试被问期望薪资时该如何回答 #
402639次浏览 2219人参与
# 你被哪些公司挂了? #
198341次浏览 1077人参与
# 机械人,秋招第一次笔试的企业是哪家? #
103546次浏览 707人参与
# 工作压力大,你会干什么? #
82561次浏览 708人参与
# 国企还是互联网,你怎么选? #
218516次浏览 1541人参与
# 实习生工资多少才算正常? #
76705次浏览 532人参与
查看17道真题和解析