微信支付宝,订单重复支付的问题,现在有办法避免么?

比方说同一个支付二维码,有2个人同时扫了生成订单了,有没有办法让后面支付的人提示没法支付?我看了下关闭订单的接口,都需要一定时间才能发起,如果强制限定5分钟内不能生成新的订单的话,假设第一种支付方式没钱了,想换一种的话就没办法了。。。。比较好的解决方式是什么呢?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 8
自由与温暖是遥不可及的梦想

为何 一个订单 会出现两个人去支付呢

4年前 评论
airy 4年前
poker_face (楼主) 4年前
mengdodo 4年前
自由与温暖是遥不可及的梦想 (作者) 4年前

扫了就给这个订单加个锁?

4年前 评论
自由与温暖是遥不可及的梦想 4年前
sunrise丶 (作者) 4年前

如果是微信的话,微信会自动提示不能付款。

支付宝不知道。

4年前 评论

讲一个取巧的办法,都让他们付款,回调检测到订单已支付,就走退款流程

4年前 评论

怎么会有这种情况?同一订单只能由一个支付宝账号生成订单,生成订单后别的支付宝再扫,会提示下单账号不符,就算真的凑巧支付上了,支付宝内部也会进行退款的

4年前 评论

支付宝本身一次支付就不能多次付款吧?已支付了支付宝会提示的

4年前 评论

这个问题,我们之前也有遇到过,案例情况如下:

当客户1购买下单后,来到了支付页面,可能出现他不是用自己的手机进行的扫码,用了另一部手机进行了扫码付款,但是当用另一个手机扫码的时候页面可能没有刷出来,客户2这个时候帮忙进行了扫码。那么当这个时候就很有可能出现两个人同时支付的情况。特别是在微信端的时候,因为如果是两个人支付的时候,需要生成两个不同的openid。

我们采取的方案如下:

  1. 将订单的支付单进行加锁,如果当第一个客户选择支付的时候,第二个客户在扫码的时候就会提示这个二维码失效,提示是否需要再一次生成新的二维码进行扫码支付。【这种方案通常情况下是在我们默认客户能够主动认识到支付的唯一性的时候采用】
  2. 采用同一个支付号码进行支付,当第二个人扫码的时候,就会提示错误。【这种方案是强制默认客户采用一个客户端来进行支付动作】
  3. 默认两个人都可以进行支付,但是在接受通知时,如果后面的支付成功通知到达时,直接发起退款流程。【这种方案比较灵活,只是对财务的工作要求比较多】

建议:由于这个情况不是经常性发生,所以其实可以暂时忽略这样的问题,通过客服能够很好的解决。

4年前 评论

先查询是否有订单

1没有订单 ->创建订单->支付 2有订单->修改已有订单号->新订单号->支付

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!