今日在做微信支付回调的时候,把微信支付回调结果记录到日志中去,发现日志重复记录同一条回调信息,微信回调推送了多次。
重新翻看微信支付官方文档发现:
支付完成后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答。
对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,微信会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但微信不保证通知最终能成功。 (通知频率为15/15/30/180/1800/1800/1800/1800/3600,单位:秒)
所以在回调地址接受微信支付信息并处理完相关逻辑 返回成功信息给微信。返回示例如:
<xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> </xml>