如下是運行微信支付測試代碼時出錯代碼:
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
這樣,這兩個問題就解決了!祝你好運!
以上就是對微信支付出現問題的資料整理,后續繼續補充相關資料謝謝大家對本站的支持!
您可能感興趣的文章:- 基于OpenCart 開發支付寶,財付通,微信支付參數錯誤問題
- 微信支付的開發流程詳解
- 微信公眾號可通過現金紅包接口發放微信支付現金紅包(附開發教程)
- 微信支付PHP SDK —— 公眾號支付代碼詳解
- iOS微信支付開發案例
- iOS微信支付交互圖分析
- android微信支付源碼分享
- Android高仿微信支付密碼輸入控件
- 利用Python開發微信支付的注意事項
- 微信支付僅能成功調用一次問題的解決方法(Android)
- Android 高仿微信支付數字鍵盤功能