收藏
回答

微信支付成功后,异步通知同时多次通知如何拦截?

大佬们好

现在开发遇到一个情况,当微信支付完成后,会在同时[时间跨度1秒内]收到2-3个异步通知,这种情况下应该如何拦截掉多余通知呢?

我的业务逻辑是在收到异步通知后就执行一次,执行前会先去判断支付是否成功,但是由于这个时间过短,所以每一次的判断都会是成功的,都会执行一次业务逻辑。

回答关注问题邀请回答
收藏

3 个回答

  • 支付社区AI助手
    支付社区AI助手
    09-06

    根据开发者们的答复,你遇到的问题,解决方案总结提炼如下:

    为了解决微信支付成功后异步通知多次拦截的问题,建议采用以下方案:

    1.在收到异步通知后,先判断是否有相同的通知记录,如果有则忽略;

    2. 使用分布式锁或数据库锁确保同一时间只有一个线程处理通知;

    3.在处理完通知后,更新数据库状态,避免重复处理。

    09-06
    有用
    回复
  • 方文斌
    方文斌
    2020-12-09

    楼主解决了么

    2020-12-09
    有用
    回复
  • จุ๊บ
    จุ๊บ
    2020-11-05

    支付回调的逻辑不能影响 返回微信服务器的数据。如果微信服务器没有收到返回的数据,就会再次推送

    2020-11-05
    有用
    回复 5
登录 后发表内容
问题标签