微信支付之异步通知签名错误

开发过程中可能遇到 异步通知页面签名无法通过;那么原因何在呢?

我直说我碰到的这个

  先看我错误时候微信回馈的xml

     

<xml><appid><![CDATA[wx3a542a6f094310c5]]></appid>
<bank_type><![CDATA[CFT]]></bank_type>
<cash_fee><![CDATA[1]]></cash_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<mch_id><![CDATA[1225931602]]></mch_id>
<nonce_str><![CDATA[m8iidgrc2ng2hd25xh3uywhzdtlimt8b]]></nonce_str>
<openid><![CDATA[oc8rujitiX4ghHtvP57WvQQW4-UA]]></openid>
<out_trade_no><![CDATA[wx3a542a6f094310c51425455173]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[2573B48A589EACCCADF43AB0F16C711C]]></sign>
<time_end><![CDATA[20150304155325]]></time_end>
<token><![CDATA[oksiyy1424939297]]></token>
<total_fee>1</total_fee>
<trade_type><![CDATA[JSAPI]]></trade_type>
<transaction_id><![CDATA[1005970908201503040024812510]]></transaction_id>
</xml>

正确时候的:

    

<xml><appid><![CDATA[wx3a542a6f094310c5]]></appid>
<bank_type><![CDATA[CFT]]></bank_type>
<cash_fee><![CDATA[1]]></cash_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<mch_id><![CDATA[1225931602]]></mch_id>
<nonce_str><![CDATA[e824na6v3q0zobi92ahjxwcrfbfzu7fs]]></nonce_str>
<openid><![CDATA[oc8rujitiX4ghHtvP57WvQQW4-UA]]></openid>
<out_trade_no><![CDATA[wx3a542a6f094310c51425864258]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[E6855E6EB5A530F09F8720CF01FE40F5]]></sign>
<time_end><![CDATA[20150309093139]]></time_end>
<total_fee>1</total_fee>
<trade_type><![CDATA[JSAPI]]></trade_type>
<transaction_id><![CDATA[1005970908201503090029404065]]></transaction_id>
</xml>

其实最后问题的关键就在于那个token 参数;

问题就出在:回调连接带了个参数;

$unifiedOrder->setParameter("notify_url","http://www.bsince.com/wxpay/pay/utils/notify_url.php?token=$token");//通知地址

我带了个参数;结果微信就把他好好的放在了xml中;但是签名就是随你怎么走都无法通过。

所以请保证回调参数不要加上任何参数;

积累知识,分享知识,学习知识。
原文地址:https://www.cnblogs.com/bin-pureLife/p/4322943.html