如下是运行微信支付测试代码时出错代码:
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 高仿微信支付数字键盘功能