微信支付错误两个问题的解决:curl出错,错误码:60

时间:2015-07-17 07:06:39   收藏:0   阅读:61699

如下是运行微信支付测试代码时出错代码:

 

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: #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

 

 

这个错误通过修改文件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

 

这样,这两个问题就解决了!祝你好运!

评论(7
fictioner 2016-06-28 18:58:20
为了感谢特别注册!
微信坑爹 2016-08-24 14:52:38
拜谢,微信坑爹
xdzhou2006 2016-10-25 09:21:52
把校验去掉不安全,这种方法不可取,想知道怎么解决 联系本人Q 838179219
xdzhou2006 2016-10-25 09:22:24
微信坑爹
拜谢,微信坑爹
这种方法不对
琉云 2017-01-16 13:18:14
哎 我也是看了这个帖子解决了困扰我3天来微信支付报错的问题,主要自定义的error根本看不懂是什么意思。
自己一步一步测试到 发现返回的是个bool(false);后来检查curl错误值为60。
才看到这个帖子  按照上述的方法直接就过了。
也是为了感谢特意注册~!
哎感觉呗微信坑了。
5
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!