微信支付回调获取不到数据的解决 办法,思路

####1 首先要了解怎么获取微信服务器端发过来的xml数据包。
这部分主要有两种思路,
第一方法:看官方提供给我们的demo,发现是通过$xml = $GLOBALS[‘HTTP_RAW_POST_DATA’];来获取微信服务发送过来的xml文件;
第二种方法:发现php文档中用 $xml = file_get_contents(‘php://input’);代替上面。

####2 关键处,怎么去验证我们的回调接口,写法是正确的。
很多情况下,无法接收微信服务端发送过来的xml,都是由于接口代码有bug。这样就需要我们模拟发送xml数据到notify的接口。验证接口的正确性。
通过postman模拟请求,我们可以快速的调试我们写的回调接口的正确性,避免多次实际操作,进行接口调试。可以百度postman怎么模拟发送xml请求数据。也可以将xml数据解析,存到数据库,查看数据库有没有新的记录,是不是预期的结果。

####3 开发过程中实际遇到的问题
在开发过程中发现无法获取数据,是php的配置文件中always_populate_raw_post_data = On的扩展没有打开,本人就遇到过这样的问题,本人php版本5.3.9。
小小经验,总结一下,希望对刚接触微信支付的朋友有所帮助!

你可能感兴趣的:(php-微信支付)