首先要吐槽一下微信支付开发,从一个一个坑爬过来,我也是不容易了,以前做支付宝的时候在配置那块花不少时间,但是从现在的微信支付来比那简直就是小巫见大巫了。愁死宝宝了,这BUG的小船儿也是说翻就翻啊。好吧!跑题了。
我是来向大家伙求助,微信支付回调的,我是用的公众号支付(H5支付),支付是成功的(爬了好几个坑的结果),现在出现一个问题,支付成功以后微信那边好像并没有调我的回调页面(我在回调页面中有日志),看了文档也没有发现有什么问题,我的URL是可以打开的,不带任何参数。刚开始我以为是我没有把回调链接发到微信服务器,后来检查了一下请求同意下单接口的报文,NOTIFY_URL是有值的,纠结了半个下午了,有遇到没有遇到过类似情况的。给个建议吧。。。
这两个地方你设置了吗?
回调是有参数的.微信的回调和支付宝不一样.支付宝的回调参数是在url里.而微信的回调参数是在ResponseBody里,xml格式.
首先呢,因为支付确实成功了(向微信查询订单,返回结果表明支付成功),所以我认为微信回调很有可能是带了参数的,但在回调地址中没有取到参数,那么原因可能就是取参数的“姿势”不对。
然后换几种取参数的方式试试,确认到底带参数没有。
结果发现问题出在 “php://input,$_POST,$HTTP_RAW_POST_DATA区别”上,用 $GLOBALS['HTTP_RAW_POST_DATA']就死活取不到数据,而用 file_get_contents("php://input");就取到了。