关注
问题描述
在美团点外卖时,提交订单后选择微信支付但不付款,切回后再选择支付宝支付,最终微信和支付宝都可能付款成功,出现一笔订单重复支付的情况。
技术角度分析
- 幂等性问题:同一笔订单通过不同支付渠道多次支付,系统未有效保证操作的幂等性。
- 多阶段原子性问题:支付流程的不同阶段(如选择支付方式、跳转支付渠道等)之间,原子性未得到严格保障。
可能的解决方案
- 聚合支付场景:在创建交易订单前,先判断是否存在处于交易过程中的订单,若有则不允许创建新订单。不过这种方法可能影响用户体验,例如用户误选支付方式且该支付方式余额不足时,可能无法再次尝试其他支付方式。
- 美团的处理方式(推测):允许用户通过不同渠道支付,支付完成后,若回调发现订单已支付,就进行退款处理。这是利用订单号的唯一性来实现的。
- 业务与产品层面:是否退款取决于业务需求和产品策略,存在业务方向上的选择。
测试注意事项
在测试过程中,要保证账户中有足够的资金,避免因账户余额不足而无法完成支付,从而影响对重复支付问题的测试。
查看原帖
点赞 1
相关推荐
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
4574次浏览 68人参与
# 找工作的破防时刻 #
251618次浏览 1953人参与
# 程序员找工作至少要刷多少题? #
9246次浏览 146人参与
# 你投递的公司有几家约面了? #
157773次浏览 995人参与
# 论秋招对个人心气的改变 #
5838次浏览 104人参与
# 我的AI电子员工 #
26117次浏览 159人参与
# OPPO求职进展汇总 #
770891次浏览 5396人参与
# 为了减少AI幻觉,你注入过哪些设定? #
1831次浏览 54人参与
# 刚入职的你踩过哪些坑 #
4155次浏览 91人参与
# 程序员能干到多少岁? #
5711次浏览 90人参与
# 一张图晒一下你的AI员工 #
2907次浏览 62人参与
# 牛客AI体验站 #
3265次浏览 88人参与
# 我现在比当时_,你想录用我吗 #
3626次浏览 63人参与
# 想辞职但是不敢的原因 #
20148次浏览 88人参与
# ai智能作图 #
624698次浏览 5627人参与
# AI Coding的使用心得 #
2276次浏览 59人参与
# 关于春招/暑期实习,你想知道哪些信息? #
3887次浏览 84人参与
# 牛客租房专区 #
146710次浏览 1464人参与
# 晒晒你司的新年福利 #
3933次浏览 70人参与
# 虾皮求职进展汇总 #
373367次浏览 2792人参与
查看8道真题和解析