微信支付小结

1、微信支付成功多次回调

微信机制:

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

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

原因:

  1) 收到微信回调之后返回微信应有的响应,并且在响应之后不要再进行任何的输出操作,否则就操作微信推送的异常(场景:在代码中有打印的数据,造成微信频繁推送的结果)

  2) 响应时间过长,超过了微信接收响应的时间15s,有些数据的处理过慢导致,当前数据还没有处理完成,下次的微信推送已经开始,有次造成多次推送的情况(场景:其中有对于memcache的操作,但是因为某种原因memcache无法及时的返回请求,造成整个流程高达将近20s的时间,导致发送小程序的模板消息推送多条)

  注意点: 

  1) 要对于资源请求设置一定的超时,否则会导致整个程序被拖垮,出现不知名的异常状况

posted @ 2019-08-30 09:26  怼宝灿灿  阅读(275)  评论(0编辑  收藏  举报