微信支付之异步通知签名错误
开发过程中可能遇到 异步通知页面签名无法通过;那么原因何在呢?
我直说我碰到的这个
先看我错误时候微信回馈的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中;但是签名就是随你怎么走都无法通过。
所以请保证回调参数不要加上任何参数;
积累知识,分享知识,学习知识。