微信支付phpv3给我们留下的坑
2015-09-06 10:52
706 查看
一.微信支付错误两个问题的解决:curl出错,错误码:60
Warning: curl_setopt() expects parameter 2 to be long, string given in D:\wwwroot\weixinpaytest\pay\WxPay.JsApiPay.php on line 99Fatal 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
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
二、支付授权目录
目录不要超过三级例如:
http://wl.xxx.com/wxpay/example/ 可以
http://wl.xxx.com/wxpay/example/test/ 不可以
一般这样写
ecshop :http://wl.xxx.com/mobile/ --后斜杠一定不要忘了写
ThinkPHP :http://wl.xxx.com/ --后斜杠一定不要忘了写
把demo适当封装后,调用的时候直接输出支付按钮即可
三、ihpone手机支付错误
问题原因:时间戳必须是字符串,因为它要拼接到json里面
解决办法:
找到Wxpay.JsApiPay.php 大概 76行
$jsapi->SetTimeStamp($timeStamp);
改为
$jsapi->SetTimeStamp("$timeStamp");
现在,坑填平了,接下来就靠你自己了……
相关文章推荐
- 浅析PHP微信支付通知的处理方式
- PHP开发微信支付的代码分享
- Java通过JsApi方式实现微信支付
- java开发微信公众号支付
- 分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
- Android微信支付开发问题
- 分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
- 支付宝支付、微信支付,银联支付
- 微信支付 该支付域名未获授权,无法发起该笔交易问题解决方案
- ectouch 微信支付成功后订单状态未改变的解决办法
- 微信支付V3版(JSAPI)
- android微信支付
- js api微信支付接口
- 微信扫码支付报错:curl出错,错误码:60
- 微信扫码支付成功后跳转
- 微信支付过程中遇到的问题
- nodejs 微信支付
- 支付API接口(支付宝支付接口&微信支付接口)
- THINKPHP 3.1.x 集成微信支付
- 微信公众号对接JSAPI模式的微信支付简介与总结