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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 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。

 

 

目录
相关文章
|
3月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
794 1
|
3月前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
268 1
|
3月前
|
机器学习/深度学习 人工智能 JSON
微信小程序原生AI运动(动作)检测识别解决方案
近年来,疫情限制了人们的出行,却推动了“AI运动”概念的兴起。AI运动已在运动锻炼、体育教学、线上主题活动等多个场景中广泛应用,受到互联网用户的欢迎。通过AI技术,用户可以在家中进行有效锻炼,学校也能远程监督学生的体育活动,同时,云上健身活动形式多样,适合单位组织。该方案成本低、易于集成和扩展,已成功应用于微信小程序。
|
4月前
|
人工智能 机器人 Serverless
《10 分钟构建 AI 客服并应用到网站、钉钉或微信中》解决方案体验评测
一文带你详细了解如何基于百炼平台、函数计算或者计算巢AppFlow10 分钟构建 AI 客服并应用到网站、钉钉或微信中,附全篇图文详解,欢迎阅读评价。
352 9
《10 分钟构建 AI 客服并应用到网站、钉钉或微信中》解决方案体验评测
|
3月前
|
JSON 小程序 前端开发
微信小程序-人脸核身解决方案
微信小程序-人脸核身解决方案
280 0
|
3月前
|
云安全 存储 小程序
PHP微信小程序解决方案PhpMall
PHP微信小程序解决方案PhpMall
49 0
|
3月前
|
小程序
微信小程序之weui.wxss不能引用查找的解决方案
微信小程序之weui.wxss不能引用查找的解决方案
82 0
|
4月前
|
小程序 前端开发 API
微信小程序 - 调用微信 API 回调函数内拿不到 this 问题(解决方案)
本文讨论了在微信小程序中调用API回调函数时无法获取到`this`上下文的问题,并提供了解决方案。在回调函数中,使用一个变量(如`that`)来保存当前的`this`引用,然后在回调内部使用这个变量来访问当前页面的数据和方法。
|
5月前
|
人工智能 搜索推荐 UED
通过体验《10 分钟构建 AI 客服并应用到网站、钉钉或微信中》解决方案测评
本次测试涵盖了钉钉和微信上的部署体验。部署流程简单便捷,约10分钟即可完成基础配置,适合技术背景各异的用户。功能上,网站端响应迅速但准确度有待提升;钉钉内集成良好,响应及时但答案丰富度有限;微信端用户友好,回答深度需加强。稳定性方面表现出色,资源占用合理。此外,还支持一定程度的自定义开发以满足不同需求。总的来说,这是一个快速搭建AI客服的有效方案,不过还需针对特定场景做更多优化工作。
85 2
|
5月前
|
小程序
微信小程序无法触发onReachBottom的解决方案
这篇文章提供了解决微信小程序中`onReachBottom`事件无法触发的问题的方案。问题的原因可能是`onReachBottom`方法重复,解决方案是删除系统自动生成的该方法。