收藏
回答

微信支付回调,同一时间回调两次!!

商户订单:2020040509183357515254

微信订单号:4200000554202004055767640802

通过日志分析发现,该订单收到两次回调(图片里红色为第一次回调请求轨迹, 黄色为第二次回调请求轨迹)

2020-04-05#09:18:42 ip:140.207.54.75 第一次回调,此时我回调业务还在处理数据请求未结束

2020-04-05#09:18:43 ip:140.207.54.73 第二次回调

2020-04-05#09:18:43 ip:140.207.54.75 第一次回调业务处理完成,返回成功微信所需成功信息格式

2020-04-05#09:18:44 ip:140.207.54.73 第二次回调业务处理完成,返回成功微信所需成功信息格式

这同一个订单回调为什么会在我第一次回调还没结束就发起了第二次回调?请求ip地址是不一致的。我处理消息格式也没有问题,其他支付请求均正常,即使处理失败,按文档的意思请求频率是【15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h - 总计 24h4m)】 最低回调频率也是15秒,这个竟然是1秒间隔就回调第二次了,导致我业务上对这个订单并发处理了两次。

请问这个是什么原因呢?

最后一次编辑于  2020-04-09
回答关注问题邀请回答
收藏

9 个回答

  • 朱盼👏
    朱盼👏
    2020-07-24

    我也遇到跟楼主一样的情况了 我是2020-04-05 08:22:46同一秒收到两次回调...暂时还没解决

    2020-07-24
    有用 1
    回复 3
    • 海斌
      海斌
      2020-09-26
      你好,有解决办法吗?
      2020-09-26
      回复
    • 脚印
      脚印
      2020-10-09回复海斌
      兄弟解决了吗?
      2020-10-09
      回复
    • 海斌
      海斌
      2020-10-09回复脚印
      已解决,支付回调有并发的情况,所以要处理并发请求,目前使用 redis incr原子性解决
      2020-10-09
      回复
  • 黎曦
    黎曦
    2020-06-05

    多次回调 只要写业务逻辑判断就行了 从后台判断用户的支付状态, 如果是未支付就修改支付状态,如果已经支付就不用修改支付状态了, (一个用户有多个订单, 用户每次的订单号都是唯一的, 根据订单号判断那一次的订单)

    2020-06-05
    有用 1
    回复 1
    • Colin
      Colin
      2021-01-07
      关键是并发了,有可能你第一还没处理完 重复的回调又过来了
      2021-01-07
      2
      回复
  • 😑
    😑
    2022-07-13

    害 我也遇到了,同一时间两个回调请求过来,没做并发处理

    2022-07-13
    有用
    回复
  • Mr.孫🍌
    Mr.孫🍌
    2020-12-30

    遇到好多次了,支付宝从来没遇到过。微信回调机制这么垃圾的吗?

    2020-12-30
    有用
    回复 1
    • 冬海大盗
      冬海大盗
      2021-10-14
      支付宝也有,晕死了。我都遇到了。。
      2021-10-14
      1
      回复
  • 凌清云😎
    凌清云😎
    2020-12-29

    我也遇到了这个问题,我的解决办法是次上次回调时间记录下来(用缓存记录以订单Id为主键),再次回调的时候判断一下上次回调时间,如果当前时间和上次回调时间相差很短(我这里设置的是5秒)就不继续处理下面的业务,直接返回false

    2020-12-29
    有用
    回复
  • ape_impetus
    ape_impetus
    2020-10-20

    我也有同样的问题,同一秒,连续两个支付成功的通知

    2020-10-20
    有用
    回复 1
    • Mr.孫🍌
      Mr.孫🍌
      2020-12-30
      我也是同一秒。哎
      2020-12-30
      回复
  • 脚印
    脚印
    2020-09-29

    你好,楼主问题解决了吗?

    2020-09-29
    有用
    回复
  • NothingToSay
    NothingToSay
    2020-04-09

    好像现在都出现了这个问题啊

    2020-04-09
    有用
    回复 3
    • 仲夏云光
      仲夏云光
      2020-04-09
      你们也出现这种情况了吗?怎么解决?
      2020-04-09
      回复
    • NothingToSay
      NothingToSay
      2020-04-10回复仲夏云光
      还没解决,你呢
      2020-04-10
      回复
    • 六艺
      六艺
      2020-06-30
      也遇到了这个情况。。。
      2020-06-30
      回复
  • 微信支付技术助手8
    微信支付技术助手8
    2020-04-09

    2020-04-09
    有用
    回复 1
    • 仲夏云光
      仲夏云光
      2020-04-09
      多次的意思是会同时发送?
      也就是有并发的情况?
      上一个回调请求没结束,就有可能会再发起请求?


      所以是要处理并发请求的情况吗?上一次回调没更新完数据,就有另一个并发回调回来,查到的情况就是都还没支付完的状态了
      2020-04-09
      回复
登录 后发表内容
问题标签