收藏
回答

【微信支付】申请退款 - 返回cUrl错误,错误码: 58

问题模块
API和组件

调用微信支付 - 申请退款接口: https://api.mch.weixin.qq.com/secapi/pay/refund 返回cUrl错误,错误码58,网上资料告知可能是证书错误,或者路径不对

   

   证书从商户系统下载最新,四个文件:apiclient_cert.p12, apiclient_cert.pem,apiclient_key.pem, rootca.pem


   按官方PHP范例设置cUrl参数,其中证书路径使用绝对路径


curl_setopt($ch, CURLOPT_SSLCERTTYPE, 'PEM');
curl_setopt($ch, CURLOPT_SSLKEYTYPE, 'PEM');
curl_setopt($ch, CURLOPT_SSLCERT, getcwd() . DIRECTORY_SEPARATOR . WxPayConfig::SSLCERT_PATH);
curl_setopt($ch, CURLOPT_SSLKEY, getcwd() . DIRECTORY_SEPARATOR . WxPayConfig::SSLKEY_PATH);


在Windows 7系统下,尝试退款申请接口调用成功;

但是在Ubuntu 16.04以及Mac系统上,执行相同代码却一直返回58错误,从日志上打出的证书路径也是正确


请各路大侠指点迷津,不胜感激。

最后一次编辑于  2017-09-15  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

2 个回答

  • 李云鹏
    李云鹏
    2017-09-16

    Ubuntu系统上该问题已解决,是证书路径的问题。但是在Mac系统仍然返回58错误,证书路径检查过是没问题,还没找到解决办法

    2017-09-16
    赞同
    回复
  • 巴克先生
    巴克先生
    2018-09-29

    兄弟 你这个问题解决了么  我在centos上一直还是curl code 58  路径什么的都没有问题

    2018-09-29
    赞同
    回复