• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

微信支付,1次支付后,回调通知好像请求有很多次,这样会不会重复入库。。。

php 搞代码 3年前 (2022-01-25) 29次浏览 已收录 0个评论
文章目录[隐藏]

<body>

这个是1次微信支付的回调通知,可以看出来有7个,而且时间间隔还蛮大的。这样会不会重复校验支付信息并入库,同理也会增大服务器压力吧

我有反馈给微信哦,我用的是官方提供的PHP SDK,代码如下:

<code>// 前面的内容和微信SDK一模一样,省略了Log::DEBUG("begin notify");$notify = new PayNotifyCallBack();$notify->Handle(false);// 返回给微信确认echo $notify->ToXml();</code>

但是好像不管用,于是我就将Handle中的false修改为true,结果好像还是不管用

<code>// 前面的内容和微信SDK一模一样,省略了Log::DEBUG("begin notify");$notify = new PayNotifyCallBack();$notify->Handle(true);// 返回给微信确认echo $notify->ToXml();</code>

请问要怎么做咧?是不是我有遗漏什么,求解

回复内容:

<body>

这个是1次微信支付的回调通知,可以看出来有7个,而且时间间隔还蛮大的。这样会不会重复校验支付信息并入库,同理也会增大服务器压力吧

我有反馈给微信哦,我用的是官方提供的PHP SDK,代码如下:

<code>// 前面的内容和微信SDK一模一样,省略了Log::DEBUG("begin notify");$notify = new PayNotifyCallBack();$notify->Handle(false);// 返回给微信确认echo $notify->ToXml();</code>

但是好像不管用,于是我就将Handle中的false修改为true,结果好像还是不管用

<code>// 前面的内容和微信SDK一模一样,省略了Log::DEBUG("begin notify");$notify = new PayNotifyCallBack();$notify->Handle(true);// 返回给微信确认echo $notify->ToXml();</code>

请问要怎么做咧?是不是我有遗漏什么,求解

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7

请参考这个文档。

在你处理业务之后,你需要向微信服务器反馈,这样就可以停止它继续请求。

还有,你的代码中,当然要判断是否对同一订单进行重复处理。

它提供的sdk我没怎么研究过,其实处理完业务直接 echo ‘SUCCESS’就可以了,后期,处理业务的逻辑应该做成异步的。

回调里处理订单前先根据订单号判断该订单是否已处理,已处理的话直接echo 'SUCCESS'

请向微信的服务端响应成功的值,以终止通知,同时,在处理逻辑中进行判断是否处理过了,双重保险。

本文来源gaodai$ma#com搞$$代**码)网8搞代gaodaima码

微信回调如果你给他返回成功信息,他是不会重复调的

我也遇到过这种问题


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:微信支付,1次支付后,回调通知好像请求有很多次,这样会不会重复入库。。。

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址