上面的錯誤,若是能夠確認簽名之類的都沒有問題了。
那麼,請按下面步驟檢查下。
一、再看一下,appid是否是根本就傳的空值或者錯了,可用微信調試工具看到你傳的參數和返回結果。php
2、請檢查「支付受權目錄」與 實際支付發生目錄是否一致。好比:實際發生目錄:http://www.baidu.com/pay/paynow/payorder?id=32323
則支付受權目錄必須是:http://www.baidu.com/pay/paynow/
框架中,每每把url進行改寫http://www.baidu.com/pay/paynow/payorder/id/32323
此時的受權目錄則應該爲 http://www.baidu.com/pay/paynow/payorder/id/
但要注意,若是這樣的話,你的目錄可能太深了。
微信說明的很清楚
三、頭部要包含http或https,須細化到二級或三級目錄,以左斜槓「/」結尾。
但經測試代表,即便是上面的4、五級目錄。即表受權目錄修改成:http://www.baidu.com/pay/paynow/payorder/id/
微信支付仍然是支持的。
3、請檢測是否使用了框架內部的跳起色制。
在thinkphp開發中,因爲使用了redirect()函數,在處理完訂單數據後進行了直接跳轉,致使了上述問題的發生。
若是你的運氣也這麼差,那麼請本身重寫跳轉函數。
示例:
function redirect_url($url)
{
echo "
}
上面爲在微信支付生產環境開發中遇到的問題,若是上述方法沒有幫到你,而偏偏你找到的其它問題,歡迎留言。thinkphp