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


后来发现原因,可能是支付成功的代码执行时间太长,没执行完,第二波回调已经来了
博客作者遇到微信支付回调在2分钟内执行多次的问题,初步怀疑是支付回调代码执行时间过长导致。尽管后台进行了幂等处理,但依然出现重复支付操作。最终解决方案是在Controller层方法上加锁来防止并发导致的重复执行。
1315

被折叠的 条评论
为什么被折叠?



