aipande143
好菜哦
2019-07-22 09:29
采纳率: 20%
浏览 3.3k
已采纳

如何避免同一张订单,分别以微信、支付宝支付,而造成的重复支付?

问题描述:
1.网站整合了支付宝扫码支付和微信扫码支付,用户可以选择不同的支付方式支付,现在有如下情景:用户首先打开支付宝二维码页面,并用手机扫码,但不支付,再打开微信扫码支付页面,使用微信完成支付,最后发现上一步使用支付宝
扫描的二维码仍然可以支付,这种情况该如何处理?订单支付流程上该如何设计?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • caozhy
    已采纳

    (1)理智的用户,不会主动重复支付。
    (2)对于支付页面,可以用websocket、轮询,服务器端在该订单已经付款的时候,让所有的支付页面跳转到支付成功页面。
    (3)用户误操作,页面又没有来得及跳转的情况应该极少了,这种情况安排人工检查下并且退款。

    点赞 评论
  • zhshchilss
    zhshchilss 2019-07-22 10:12

    1.生成的二维码有没有状态?就像小卖店的二维码,谁都可以扫。你用微信扫了,你支付扫了,它们是没关联的,都可以支付。
    如果你只是生成一个二维码,就像上面那样了
    2.生成二维码的页面,添加订单号和订单状态信息,用户支付了,就更新订单状态。每次更新订单状态之前都判断订单的状态是否可以操作。
    3.如果没有要求,多次扫就多次扫呗,这是正常的,生成多个订单呗。本来就是支付了两次,又不是一个页面重复提交了两次。有问题,再联系客服

    点赞 评论
  • mutou_chen
    改不了ID 2019-07-22 16:12

    有个简单方法, 然后支付后 发一条消息到redis,下次支付 去取

    点赞 评论

相关推荐