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

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

bVxJK6

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

// 前面的内容和微信SDK一模一样,省略了

Log::DEBUG("begin notify");

$notify = new PayNotifyCallBack();

$notify->Handle(false);

// 返回给微信确认

echo $notify->ToXml();

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

// 前面的内容和微信SDK一模一样,省略了

Log::DEBUG("begin notify");

$notify = new PayNotifyCallBack();

$notify->Handle(true);

// 返回给微信确认

echo $notify->ToXml();

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

回复内容:

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

bVxJK6

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

// 前面的内容和微信SDK一模一样,省略了

Log::DEBUG("begin notify");

$notify = new PayNotifyCallBack();

$notify->Handle(false);

// 返回给微信确认

echo $notify->ToXml();

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

// 前面的内容和微信SDK一模一样,省略了

Log::DEBUG("begin notify");

$notify = new PayNotifyCallBack();

$notify->Handle(true);

// 返回给微信确认

echo $notify->ToXml();

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

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

请参考这个文档。

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

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

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

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

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

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

我也遇到过这种问题

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值