评论

多种第三方支付同时支付一个订单的解决方案

多种第三方支付同时支付一个订单的解决方案

这样一个场景

  当同时的接入了支付宝和微信等。有2种或者更多的三方支付方式时。因为第三方支付,支付成功时都是异步通知的的,这时候可能会有一个问题,一个用户使用微信支付但是系统还没收到异步通知,他🈶️使用了支付宝支付,就会支付两次,这时候就出问题了。

这种情况我们能怎么办呢? 当然正常支付通知都会在几秒内回来,但是这种情况也还是有可能发生的。

所以我们可以这样优化支付逻辑:首先。因为支付通知回来以后,都会异步去更新订单状态。所以每次发起支付的时候,我们都应该先判断订单状态,保证当前待支付的订单是一个正常且未支付的订单,再去执行接下来的逻辑。

然后,同时微信和支付宝都支付完,而第一个回调已经修改完订单状态后,此时第二个回调接收到,我们可以做一个退款操作,将第二种支付退款。

最后一次编辑于  2021-04-27  
点赞 0
收藏
评论

2 个评论

  • 青寒
    青寒
    2021-04-27

    一般很少出现,出现了就钱都收下,比如买会员有效期,给用户加双份。

    也许用户就是想这么买呢,为啥要限制人家花钱?

    确实买错了,再联系客服退款呗。

    2021-04-27
    赞同
    回复
  • 跨商通
    跨商通
    2021-04-27

    你们是已经碰到这种场景并按此方案做了?

    还是只是在想象中的场景?

    2021-04-27
    赞同
    回复
登录 后发表内容