微信支付多次回调

今日在做微信支付回调的时候,把微信支付回调结果记录到日志中去,发现日志重复记录同一条回调信息,微信回调推送了多次。

重新翻看微信支付官方文档发现:

支付完成后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答。

对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,微信会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但微信不保证通知最终能成功。 (通知频率为15/15/30/180/1800/1800/1800/1800/3600,单位:秒)

所以在回调地址接受微信支付信息并处理完相关逻辑 返回成功信息给微信。返回示例如:

<xml>
  <return_code><![CDATA[SUCCESS]]></return_code>
  <return_msg><![CDATA[OK]]></return_msg>
</xml>