关注
问题描述
在美团点外卖时,提交订单后选择微信支付但不付款,切回后再选择支付宝支付,最终微信和支付宝都可能付款成功,出现一笔订单重复支付的情况。
技术角度分析
- 幂等性问题:同一笔订单通过不同支付渠道多次支付,系统未有效保证操作的幂等性。
- 多阶段原子性问题:支付流程的不同阶段(如选择支付方式、跳转支付渠道等)之间,原子性未得到严格保障。
可能的解决方案
- 聚合支付场景:在创建交易订单前,先判断是否存在处于交易过程中的订单,若有则不允许创建新订单。不过这种方法可能影响用户体验,例如用户误选支付方式且该支付方式余额不足时,可能无法再次尝试其他支付方式。
- 美团的处理方式(推测):允许用户通过不同渠道支付,支付完成后,若回调发现订单已支付,就进行退款处理。这是利用订单号的唯一性来实现的。
- 业务与产品层面:是否退款取决于业务需求和产品策略,存在业务方向上的选择。
测试注意事项
在测试过程中,要保证账户中有足够的资金,避免因账户余额不足而无法完成支付,从而影响对重复支付问题的测试。
查看原帖
点赞 1
相关推荐
查看23道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 什么是优秀的实习经历 #
7911次浏览 205人参与
# 担心入职之后被发现很菜怎么办 #
265985次浏览 1130人参与
# 被上班搭子“传染”了哪些习惯 #
5175次浏览 97人参与
# 投格力的你,拿到offer了吗? #
152159次浏览 813人参与
# 工作后,你落下了哪些病根 #
12777次浏览 182人参与
# 作业帮求职进展汇总 #
82553次浏览 543人参与
# 京东美团大战,你怎么看? #
157866次浏览 859人参与
# 实习简历求拷打 #
10579次浏览 140人参与
# 如果今天是你的last day,你会怎么度过? #
58844次浏览 324人参与
# 秋招被挂春招仍然能投的公司 #
6323次浏览 93人参与
# mt对你说过最有启发的一句话 #
34413次浏览 416人参与
# 为了找工作你花了哪些钱? #
74764次浏览 359人参与
# 机械人晒出你的简历 #
146387次浏览 874人参与
# 嵌入式岗知多少 #
62939次浏览 555人参与
# 摸鱼被leader发现了怎么办 #
100235次浏览 640人参与
# 考研失败就一定是坏事吗? #
200544次浏览 1368人参与
# 秋招特别不鸣谢 #
15187次浏览 174人参与
# 2023毕业生求职有问必答 #
218531次浏览 1662人参与
# 选实习,你更看重哪方面? #
13429次浏览 214人参与
# 牛客十周岁生日快乐 #
197733次浏览 1895人参与