问题描述:
1.网站整合了支付宝扫码支付和微信扫码支付,用户可以选择不同的支付方式支付,现在有如下情景:用户首先打开支付宝二维码页面,并用手机扫码,但不支付,再打开微信扫码支付页面,使用微信完成支付,最后发现上一步使用支付宝
扫描的二维码仍然可以支付,这种情况该如何处理?订单支付流程上该如何设计?
(1)理智的用户,不会主动重复支付。
(2)对于支付页面,可以用websocket、轮询,服务器端在该订单已经付款的时候,让所有的支付页面跳转到支付成功页面。
(3)用户误操作,页面又没有来得及跳转的情况应该极少了,这种情况安排人工检查下并且退款。
1.生成的二维码有没有状态?就像小卖店的二维码,谁都可以扫。你用微信扫了,你支付扫了,它们是没关联的,都可以支付。
如果你只是生成一个二维码,就像上面那样了
2.生成二维码的页面,添加订单号和订单状态信息,用户支付了,就更新订单状态。每次更新订单状态之前都判断订单的状态是否可以操作。
3.如果没有要求,多次扫就多次扫呗,这是正常的,生成多个订单呗。本来就是支付了两次,又不是一个页面重复提交了两次。有问题,再联系客服
有个简单方法, 然后支付后 发一条消息到redis,下次支付 去取