微信支付報錯:統一下單和拉起支付的appid不一致
錯誤碼:-2
提示參考:
參考統一下單的API
(謙信君原創,轉載請注明來源)
原因排查:
我們做的是APP微信支付
客戶端向我服務端發請求,獲取預支付ID信息,服務端這邊在這里請求的是微信的統一下單的接口API
然后我的服務端會給客戶端返回一個數組,供客戶端請求調用微信的調起支付接口API
問題就出在這個數組,由於微信支付對大小寫是非常敏感的,所以里面不符合接口定義參數的寫法就容易導致錯誤,
下面的appid, timestamp都應該是小寫才對
public function get_prepay_package($prepay_id) { $data = array(); //微信開放平台審核通過的應用APPID $data["appId"] = $this->_config["appid"]; //微信支付分配的商戶號 $data["partnerid"] = $this->_config["mch_id"]; //預支付交易會話ID $data["prepayid"] = $prepay_id; //暫填寫固定值Sign=WXPay $data["package"] = "WXPay"; //隨機字符串,不長於32位 $data["noncestr"] = $this->get_nonce_string(); //時間戳 $data["timeStamp"] = time(); $data["sign"] = $this->sign($data); return $data; }
微信支付接口參數定義:
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_12&index=2