收藏
回答

微信支付回调多次问题?

微信支付回调为什么会短时间多次调用,我在微信回调中插入数据,数据库中出现两条时间一模一样的数据(精确到秒),我也写了插入前查询数据。但是这个1S内调用两次,同时插入数据。这怎么回事。

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

5 个回答

  • 大山
    大山
    发表于小程序端
    2023-11-19

    存在的情况可能你在回应时间太长或者响应失败都会触发再次推送

    2023-11-19
    有用 1
    回复 1
    • 压低鸭舌帽
      压低鸭舌帽
      2023-11-19
      可是这种回调间隔也太短了。连插入的数据时间都一样,该怎么避免呢
      2023-11-19
      回复
  • Ray
    Ray
    2023-11-19

    你没有给支付返回 已收到回调数据吗?

    2023-11-19
    有用 1
    回复 1
    • 压低鸭舌帽
      压低鸭舌帽
      2023-11-19
      给微信返回了收到数据!但是这回调间隔也太短了。来不及回复。从插入数据的时间一样判断,根本就是1S内调用两次。
      2023-11-19
      回复
  • 往事如风
    往事如风
    2023-11-20

    我这边项目也遇到这种问题了,1秒内同时被回调两次 ,后台根本来不及业务处理,直接造成重复插入,后来我直接加入索引,重复插入的时候直接失败

    2023-11-20
    有用
    回复 3
    • 压低鸭舌帽
      压低鸭舌帽
      2023-11-20
      感谢回复,请问你是怎么加的索引,我的理解是加主键,重复插入第二次导致失败,但是我怕把第一次的也失败了。
      2023-11-20
      回复
    • 压低鸭舌帽
      压低鸭舌帽
      2023-11-20
      你加的是唯一索引是吧,我也去试试
      2023-11-20
      回复
    • Hai
      Hai
      2023-11-21
      回调方法加个锁 ,以免回调逻辑重复执行
      2023-11-21
      回复
  • 正青春
    正青春
    2023-11-19

    微信支后可能会多次回调通知支付结果。你在收到回调的时候先检查是否已经处理过了。没处理过的就处理结果,已经处理过的就不管了。正常答复回调请求就行。检查的时候最好加上线程同步锁。以免两个并发的回调处理同一个交易数据造成数据混乱。

    2023-11-19
    有用
    回复 1
    • 压低鸭舌帽
      压低鸭舌帽
      2023-11-19
      感谢回复,可是这是非常短时间的两次调用,插入数据的时间都一样。这该怎么办
      2023-11-19
      回复
  • 跨商通
    跨商通
    2023-11-19

    不用管,正常的,一定会发生的情况。

    你的代码要适配这种情况,完事。

    2023-11-19
    有用
    回复 3
    • 压低鸭舌帽
      压低鸭舌帽
      2023-11-19
      我适配了多次调用,是那种隔几分钟一次调用,我即返回了“成功”,也做了业务查询。但是这种1S内多次调用我暂时没想到怎么解决。
      2023-11-19
      回复
    • 跨商通
      跨商通
      2023-11-19回复压低鸭舌帽
      按这种情况改代码逻辑,完事。不用管发生的原因。
      2023-11-19
      回复
    • 压低鸭舌帽
      压低鸭舌帽
      2023-11-20回复跨商通
      了解,我研究研究
      2023-11-20
      回复
登录 后发表内容