微信支付同时回调多次的解决办法

博客作者遇到微信支付回调在2分钟内执行多次的问题,初步怀疑是支付回调代码执行时间过长导致。尽管后台进行了幂等处理,但依然出现重复支付操作。最终解决方案是在Controller层方法上加锁来防止并发导致的重复执行。
摘要由CSDN通过智能技术生成

遇到一个问题,微信支付成功回调,再本地使用ngrok做内网穿透,也不知到是ngrok的问题,还是微信的问题,支付成功回调会执行多次,2分钟内5,6次左右,但是debug只拦截到一次请求,其他的请求会跟随这次debug走完,也都走完,关键是,后台做了等幂处理,没有效,就好像第一个线程修改订单为已支付还没有完成,第二个线程就已经读取订单状态为未支付,进行支付成功操作,这样会重复5,6次左右

难了我快一天,解决办法就是在  Controller 层方法上加锁

 后来发现原因,可能是支付成功的代码执行时间太长,没执行完,第二波回调已经来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值