如下是運行微信支付測試代碼時出錯代碼:
Warning: curl_setopt() expects parameter 2 to be long, string given in D:/wwwroot/weixinpaytest/pay/WxPay.JsApiPay.php on line 99
Fatal error: Uncaught exception ‘WxPayException‘ with message ‘curl出錯,錯誤碼:60‘ in D:/wwwroot/weixinpaytest/lib/WxPay.Api.php:564 Stack trace: #0 D:/wwwroot/weixinpaytest/lib/WxPay.Api.php(62):
WxPayApi::postXmlCurl(‘<xml><appid><![...‘, ‘https://api.mch...‘, false, 6) #1 D:/wwwroot/weixinpaytest/pay/jsapi.php(36):
WxPayApi::unifiedOrder(Object(WxPayUnifiedOrder)) #2 {main} thrown in D:/wwwroot/weixinpaytest/lib/WxPay.Api.php on line 564
第一個問題,這個問題完全是微信團隊的問題,給出的example就是錯的:
Warning: curl_setopt() expects parameter 2 to be long, string given in D:/wwwroot/weixinpaytest/pay/WxPay.JsApiPay.php on line 99
找到WxPay.JsApiPay.php文件的99行,curl_setopt($ch, CURLOP_TIMEOUT, 30);
微信團隊example代碼里少了一個“T”,正確代碼應該是 curl_setopt($ch, CURLOPT_TIMEOUT, 30);
這樣,這一個問題就解決了。
下面說第二個問題:
Fatal error: Uncaught exception ‘WxPayException‘ with message ‘curl出錯,錯誤碼:60‘ in D:/wwwroot/weixinpaytest/lib/WxPay.Api.php:564 Stack trace: #0D:/wwwroot/weixinpaytest/lib/WxPay.Api.php(62):
WxPayApi::postXmlCurl(‘<xml><appid><![...‘, ‘https://api.mch...‘, false, 6) #1 D:/wwwroot/weixinpaytest/pay/jsapi.php(36):
WxPayApi::unifiedOrder(Object(WxPayUnifiedOrder)) #2 {main} thrown in D:/wwwroot/weixinpaytest/lib/WxPay.Api.php on line 564
這個錯誤通過修改文件WxPay.Api.php 解決,具體如下:
第537行
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//嚴格校驗
to
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);//嚴格校驗2
這樣,這兩個問題就解決了!祝你好運!
以上就是對微信支付出現問題的資料整理,后續繼續補充相關資料謝謝大家對本站的支持!
新聞熱點
疑難解答