微信支付遇到的大坑 WxpayAPI_php_v3

1、PHP7的问题
把PHP版本从5.3.3升级到7.1之后(操作系统版本CentOS 6.8, Apache 2.4),Web应用出现微信支付不能确认的问题。

查看日志,发现微信支付回调程序报错:

undefined index : HTTP_RAW_POST_DATA

网上搜索了一下,知道了答案。在我们所引用的微信商户API的支付SDK(v3版本,下载下来的文件名为WxpayAPI_php_v3.zip)中,WxPay.Api.php 的notify方法中有如下赋值调用:

//获取通知的数据
// xml= GLOBALS[‘HTTP_RAW_POST_DATA’];

因为这种取值方式在php5.6之后有可能取不到值(在php7之后的版本中已经弃用),故改为下句:
xml=isset( GLOBALS[‘HTTP_RAW_POST_DATA’]) ? $GLOBALS[‘HTTP_RAW_POST_DATA’] : file_get_contents(“php://input”);

问题得到有效解决
2、程序各种BUG问题
这个建议百度直接搜

你可能感兴趣的:(ThinkPHP)