扫码支付错误 - 1556461835/note GitHub Wiki

扫码支付错误

微信扫码支付invalid spbill_create_ip错误

参数 spbill_create_ip 在  /lib/WxPay.Api.php  的53行
打印出变量  $_SERVER['REMOTE_ADDR'] ,发现是  ::1 ,这明显是一个无效的ip地址

解决方法

将lib/WxPay.Api.php文件53行,改为固定IP

$inputObj->SetSpbill_create_ip('192.168.0.234');//终端ip

time_expire时间过短,刷卡至少1分钟,其他5分钟

错误提示 time_expire时间过短,刷卡至少1分钟,其他5分钟

传参的时候将 time_expire 删除即可

curl错误码6

原因分析

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

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

原因分析

证书校验失败

解决方法

将lib\WxPay.Api.php 565 566

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

改为

if(stripos($url,"https://")!==FALSE){
        curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        }    else    {
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE);
        curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//严格校验
}

错误参考地址

⚠️ **GitHub.com Fallback** ⚠️