081 关于微信支付的回调Notify_url

 

一、你一定要有毅力!心平气和,慢慢来!(微信扫码支付PC端,模式二)

二、ri,这个一点要仔细读一下,好不好,大胸弟!!!https的改成http,你可以在地址栏打一下这个回调地址,一定不能有错!

notify_url不能有参数,外网可以直接访问,不能有访问控制(比如必须要登录才能操作),并且这个文件不能有错误啊。大部分都是这点没做到吧。我在这个文件中写了log,get,post方式都访问成功,也没有参数,但是就是失败了…后来收到报警通知才知道是自己语法错误。访问的时候没有发现问题,因为这个页面我没有打开错误报告,一直没发现自己写错了。 

`//报告运行时错误 
error_reporting(E_ERROR | E_WARNING | E_PARSE);

//报告所有错误 

error_reporting(E_ALL);`

三、回调url外网访问问题,回调的链接一定得是外网能访问的,并且是能接收到POST信息的,建议不要只使用一个浏览器测试该链接,多换几个没有缓存的浏览器测试,或者更新浏览器缓存测试,说不准就会发现访问回调链接的时候就跳转了(本人就在这个坑爬了很久). 

四、回调回来的数据像下面的(里面的数据是假的,格式像这样)

 <xml><appid><![CDATA[wx67c67bf9f6eb0]]></appid>
<attach><![CDATA[weixin]]></attach>
<bank_type><![CDATA[CFT]]></bank_type>
<cash_fee><![CDATA[1]]></cash_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[N]]></is_subscribe>
<mch_id><![CDATA[1500107992]]></mch_id>
<nonce_str><![CDATA[tgvurs9j5avb4xqb08gk1zfdnrh9s]]></nonce_str>
<openid><![CDATA[ok8E41G5BO-x8t67iAlJ8WxhU]]></openid>
<out_trade_no><![CDATA[10201862911214739644529]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[830CFDFC0788CBB7B8EC349E2CEAD87B]]></sign>
<time_end><![CDATA[201806291122805]]></time_end>
<total_fee>1</total_fee>
<trade_type><![CDATA[NATIVE]]></trade_type>
<transaction_id><![CDATA[42000001201806295324555341365]]></transaction_id>
</xml>

 

写一个方法去接收

public function huidiao()
{
 
//接受微信回调的参数
$xmlData = file_get_contents('php://input');
libxml_disable_entity_loader(true);
$data = json_decode(json_encode(simplexml_load_string($xmlData, 'SimpleXMLElement', LIBXML_NOCDATA)), true);

var_dump($data);

}

    原文作者:phpstory
    原文地址: https://blog.csdn.net/phpstory/article/details/80855024
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞