微信支付重复调用

今天调用微信支付的时候发现了一个问题,支付成功了,但是微信一直在不停的回调我的回调地址,导致原本应该充值1元的业务逻辑执行了七八遍。

再仔细看一下微信的官方文档

微信支付重复调用解决方案
微信官方文档明确说明了,调用微信支付,在回调方法中需要给微信返回一个结果,结果如上
这部分返回结果对格式要求特别严格。

注意!!!

微信支付重复调用解决方案
如上图文档所述,如果微信没接收到或者我们的回调方法给微信返回的结果不对的话,微信会按照上述的通知频率不断的去请求我们的回调地址,这个时候就会出现一个很严重的问题,明明支付成功了,业务逻辑也正常处理了,但是由于我们的返回值不太对,微信会重复调用我们的回调接口。

这个时候就需要我们在回调方法中的业务处理之前判断一下该业务是否已经处理过,若已经处理过该业务,则直接返回结果给微信,不要在重复执行业务逻辑。

相关文章: