关于微信支付通知的回复


微信支付v3版本使用扫码支付的时候,微信默认使用的   $GLOBALS['HTTP_RAW_POST_DATA'];

来接收微信支付的通知,并对回复处理也使用这种方式来接收返回的xml数据  

在PHP7中  $GLOBALS['HTTP_RAW_POST_DATA']  是接收不到数据的,只能使用 file_get_contents('php://input');来接收返回到xml数据  

通过  $array_data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);  转换为数组

就可以拿到数据进行下一步的逻辑处理

回复微信已经收到成功通知的时候,只需要引入notify 文件,就可以了,但是demo中WxPay.Api.php 中的notify静态方法采用的还是 $GLOBALS['HTTP_RAW_POST_DATA'] 接收数据,

所以回复的微信值是不成功,微信还会继续通知,需要把这个函数也替换掉

这样微信支付成功的通知就会通知到微信服务器,微信就不会在30分钟内通知八次了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM