您的位置:首页 > 移动开发 > 微信开发

关于微信支付退款CURL错误号52 与 商户后台退款提示证书无效的解决方案

2015-05-05 18:39 555 查看
大家好,刚才写的文档用的在线云存储,谢了一大堆,保存成功了,但是我再次打开显示无法打开文件,我去,所以别用word.baidu.com这个东西了,有点可恨。

在微信开发中各位难免会被遇到各种各样的问题所困绕,官方的文档又那么乱,所以在下希望各位分享解决问题的经历,这里跪谢了。

好了废话不多说了。

首先情景重现:

我在使用官方DEMO的时候在退款时遇到的问题是如图所示:



在商户后台退款也发生了这个问题,不过提示说,证书无效。

其实最开始分析的是证书问题,但是在网上搜啊搜,网上的代码证书路径都是站点跟路径作为开始的,搞的我以为是其他问题。

在实在无法解决问题的同时又给腾讯打电话,又发邮件,终于!腾讯的技术回邮件了,告诉我要我安装证书,其实鸟蛋根本就不用。

其实解决问题的办法很简单,在官方DEMO中的文件WxPayPubHelper.php中,代码218行左右,将

curl_setopt($ch,CURLOPT_SSLCERT, WxPayConf_pub::SSLCERT_PATH);
curl_setopt($ch,CURLOPT_SSLKEY,WxPayConf_pub::SSLKEY_PATH);

替换成

curl_setopt($ch,CURLOPT_SSLCERT, dirname(__FILE__) . '/cacert/apiclient_cert.pem');
curl_setopt($ch,CURLOPT_SSLKEY, dirname(__FILE__) . '/cacert/apiclient_key.pem');

其实就是绝对路径,

比如Linux /www/wwwroot/mysite/cacert/apiclient_cert.pem

比如Windows D:\www\wwwroot\mysite\cacert\apiclient_cert.pem

将其设置位绝对路径,那么退款就OK了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: