在做微信支付的过程中,微信支付可以实现,然后微信退款总是出现错误代码:52。最后发现证书路径为相对路径。 解决方法:扎到文件Wxpay.api.php。在该文件中找到 “postXmlCurl”这个方法,然后将证书路径修改为绝对路径即可。
下面说明修改内容:
将证书路径替换为绝对路径:
//使用证书:cert 与 key 分别属于两个.pem文件 curl_setopt($ch, CURLOPT_SSLCERT, WxPayConfig::SSLCERT_PATH); curl_setopt($ch, CURLOPT_SSLKEY, WxPayConfig::SSLKEY_PATH);
修改为(这里的代码指的是PHP代码,如果是其他语言请进行相应的修改):
curl_setopt($ch,CURLOPT_SSLCERT, dirname(__FILE__).'/'.WxPayConfig::SSLCERT_PATH); curl_setopt($ch,CURLOPT_SSLKEY, dirname(__FILE__).'/'.WxPayConfig::SSLKEY_PATH);