微信支付curl出错及错误码解决方案

本文涉及的产品
云解析 DNS,旗舰版 1个月
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介: 关键字:微信支付 curl出错 错误码6 错误码7 错误码28 错误码52 错误码58 错误码60 错误码77 作者:方倍工作室原文: http://www.cnblogs.com/txw1958/p/wxpay-curl-error.html   本文介绍微信支付开发集成过程中,常见的错误码及其解决方案。
+关注继续查看

关键字:微信支付 curl出错 错误码6 错误码7 错误码28 错误码52 错误码58 错误码60 错误码77 
作者:方倍工作室
原文: http://www.cnblogs.com/txw1958/p/wxpay-curl-error.html

 

本文介绍微信支付开发集成过程中,常见的错误码及其解决方案。

 

1. curl错误码6

出现场景

PHP Fatal error:  Uncaught exception 'WxPayException' with message 'curl出错,错误码:6' in WxpayAPI_php_v3/lib/WxPay.Api.php:565
Stack trace:
#0 WxpayAPI_php_v3/lib/WxPay.Api.php(62): WxPayApi::postXmlCurl('<xml><appid><![...', 'https://api.mch...', false, 6)
#1 WxpayAPI_php_v3/cyzjqpzf/jsapi.php(83): WxPayApi::unifiedOrder(Object(WxPayUnifiedOrder))
#2 {main}
  thrown in WxpayAPI_php_v3/lib/WxPay.Api.php on line 565
[10-Oct-2015 16:50:58 Asia/Shanghai] PHP Fatal error:  Uncaught exception 'WxPayException' with message 'curl出错,错误码:6' in WxpayAPI_php_v3/lib/WxPay.Api.php:565
Stack trace:
#0 WxpayAPI_php_v3/lib/WxPay.Api.php(62): WxPayApi::postXmlCurl('<xml><appid><![...', 'https://api.mch...', false, 6)
#1 WxpayAPI_php_v3/cyzjqpzf/jsapi.php(83): WxPayApi::unifiedOrder(Object(WxPayUnifiedOrder))
#2 {main}
  thrown in WxpayAPI_php_v3/lib/WxPay.Api.php on line 565

原因分析

CURLE_COULDNT_RESOLVE_HOST(6)
无法解析主机。给定的远程主机没有得到解决。

解决方法

dns解析不了微信的域名,检查本地的dns服务器,或者在本地强制解析

vi  etc/hosts

添加下面内容
101.227.143.34 open.weixin.qq.com
101.226.90.149 api.mch.weixin.qq.com
101.226.90.58 api.weixin.qq.com

 

2. curl错误码60

出现场景

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

 

Fatal error: Uncaught exception ‘WxPayException‘ with message ‘curl出错,错误码:60‘ in C:\wwwroot\fangbei\lib\WxPay.Api.php:564 Stack trace: #0 C:\wwwroot\fangbei\lib\WxPay.Api.php(62): 
WxPayApi::postXmlCurl(‘<xml><appid><![...‘, ‘https://api.mch...‘, false, 6) #1 C:\wwwroot\fangbei\pay\jsapi.php(36): 
WxPayApi::unifiedOrder(Object(WxPayUnifiedOrder)) #2 {main} thrown in C:\wwwroot\fangbei\lib\WxPay.Api.php on line 564

原因分析

证书校验失败

解决方法

第538行

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//严格校验

修改为

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);//严格校验

 

 

3. curl错误码58

出现场景

Fatal error: Uncaught exception 'WxPayException' with message 'curl出错,错误码:58' in C:\wamp\www\API\lib\WxPay.Api.php on line 565 WxPayException: curl出错,错误码:58 in C:\wamp\www\API\lib\WxPay.Api.php on line 565 证书路径正...

原因分析

证书路径错误

解决方法

windows服务器上证书路径使用绝对路径。

curl_setopt($ch, CURLOPT_SSLCERT, dirname(__FILE__).'cert'.DIRECTORY_SEPARATOR.'apiclient_cert.pem');
curl_setopt($ch, CURLOPT_SSLKEY, dirname(__FILE__).'cert'.DIRECTORY_SEPARATOR.'apiclient_key.pem');
curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__).'cert'.DIRECTORY_SEPARATOR.'rootca.pem');

 Linux上使用相对路径

curl_setopt($ch, CURLOPT_SSLCERT, 'cert'.DIRECTORY_SEPARATOR.'apiclient_cert.pem');
curl_setopt($ch, CURLOPT_SSLKEY, 'cert'.DIRECTORY_SEPARATOR.'apiclient_key.pem');
curl_setopt($ch, CURLOPT_CAINFO, 'cert'.DIRECTORY_SEPARATOR.'rootca.pem');

 

 

4. curl错误码52

出现场景

原因分析

证书路径错误

解决方法

方法同错误码58

 

 

5. curl错误码77

出现场景

原因分析

证书路径错误

解决方法

方法同错误码58

 

 

6. curl错误码28

出现场景

支付curl出错,错误码:28
/wxpay_native/WxPay.Api.php LINE: 563  
/wxpay_native/WxPay.Api.php(61):WxPayApi::postXmlCurl(' #1  

原因分析

CURLE_OPERATION_TIMEDOUT(28)
操作超时。根据条件达到指定的超时期间。

解决方法

服务器网络和微信服务器连接时间太久,网速问题。

或者将超时时间设置长一些。比如将超时时间改为60

function postXmlCurl($xml, $url, $useCert = false, $second = 60)

 

 

9. 微信支付代码

方倍工作室付费提供可用的微信支付V3代码,费用100元,联系QQ 1354386063。

 

 

相关文章
|
5天前
|
JSON 数据格式
微信jsapi支付,又见缺少参数 total_fee错误
微信jsapi支付,又见缺少参数 total_fee错误
|
20天前
|
算法 API Go
微信小游戏获取用户相关api返回签名错误87009的解决方案
微信小游戏获取用户相关api返回签名错误87009的解决方案
|
1月前
|
程序员
解决公众号“微信登录失败 系统错误,错误码:10007”
解决公众号“微信登录失败 系统错误,错误码:10007”
20 0
|
4月前
|
监控 Kubernetes 应用服务中间件
PHP 容器化引发线上 502 错误状态码的修复
公司的业务逐步推广容器化,其中 PHP 业务的 Pod,由以下 5 个容器组成:nginx、php-fpm、metric(监控)、jaeger(链路追踪)、log(日志收集)。线上滚动部署的时候报错!
56 0
|
5月前
|
搜索推荐 小程序 NoSQL
如何设计API返回码(错误码)?
客户端请求 API,通常需要通过返回码来判断 API 返回的结果是否符合预期,以及该如何处理返回的内容等 相信很多同学都吃过返回码定义混乱的亏,有的 API 用返回码是 int 类型,有的是 string 类型,有的用 0 表示成功,又有的用 1 表示成功,还有用”true” 表示成功,碰上这种事情,只能说:头疼 API 返回码的设计还是要认真对待,毕竟好的返回码设计可以降低沟通成本以及程序的维护成本
109 0
|
5月前
|
开发者
mPaaS(移动开放应用平台)应用更新错误代码 1001
mPaaS(移动开放应用平台)应用更新错误代码 1001
85 3
|
7月前
|
移动开发 开发者
实战:第六章:H5微信与支付宝调试错误,请回到请求来源地,重新发起请求。 错误代码 insufficient-isv-permissions
实战:第六章:H5微信与支付宝调试错误,请回到请求来源地,重新发起请求。 错误代码 insufficient-isv-permissions
203 0
|
搜索推荐 小程序 NoSQL
如何设计 API 返回码(错误码)?
如何设计 API 返回码(错误码)?
341 0
如何设计 API 返回码(错误码)?
|
文字识别 API
如何修改阿里云市场的Appkey以及AppCode信息
有些公司在实际使用阿里云云市场产品中,因为安全问题或者其他考虑需要修改接口的调用信息,现在这里将简单说明下该如何修改云市场的Appkey以及AppCode信息以及注意事项
1832 0
如何修改阿里云市场的Appkey以及AppCode信息
|
小程序
微信小程序——解决上传并部署云函数时报错ResourceNotFound.Function, 未找到函数版本,请创建后再试。 (7f2d9d2d-5eac-4575-9n57-acd66cfa587g
微信小程序——解决上传并部署云函数时报错ResourceNotFound.Function, 未找到函数版本,请创建后再试。 (7f2d9d2d-5eac-4575-9n57-acd66cfa587g
微信小程序——解决上传并部署云函数时报错ResourceNotFound.Function, 未找到函数版本,请创建后再试。 (7f2d9d2d-5eac-4575-9n57-acd66cfa587g
相关产品
云迁移中心
推荐文章
更多