账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    调用微信的企业付款接口 显示‘CA证书出错,请登录微信支付商户平台下载证书’,把证书上传到服务器后用curl发送还是失败?
    28
    0

    这是微信的demo:

    function curl_post_ssl($url, $vars, $second=30,$aHeader=array()){

    $ch = curl_init();
    //超时时间
    curl_setopt($ch,CURLOPT_TIMEOUT,$second);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
    //这里设置代理,如果有的话
    //curl_setopt($ch,CURLOPT_PROXY, '10.206.30.98');
    //curl_setopt($ch,CURLOPT_PROXYPORT, 8080);
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
    
    //以下两种方式需选择一种
    
    //第一种方法,cert 与 key 分别属于两个.pem文件
    //默认格式为PEM,可以注释
    //curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');
    //curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'/cert.pem');
    //默认格式为PEM,可以注释
    //curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');
    //curl_setopt($ch,CURLOPT_SSLKEY,getcwd().'/private.pem');
    
    //第二种方式,两个文件合成一个.pem文件
    curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'/all.pem');
    
    if( count($aHeader) >= 1 ){
        curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);
    }
    
    curl_setopt($ch,CURLOPT_POST, 1);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$vars);
    $data = curl_exec($ch);
    if($data){
        curl_close($ch);
        return $data;
    }
    else { 
        $error = curl_errno($ch);
        echo "call faild, errorCode:$error\n"; 
        curl_close($ch);
        return false;
    }

    }

    //返回数据
    array(6) {
    ["return_code"]=>
    string(7) "SUCCESS"
    ["return_msg"]=>
    string(8) "CA_ERROR"
    ["mchid"]=>
    string(10) "2342424"
    ["result_code"]=>
    string(4) "FAIL"
    ["err_code"]=>
    string(8) "CA_ERROR"
    ["err_code_des"]=>
    string(62) "CA证书出错,请登录微信支付商户平台下载证书"
    }

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 枭雄在世 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部