收藏
回答

关于jsapi 微信退款接口的问题

在携带证书请求过后


返回数据为空


是否是意味着证书不匹配


还是因为纯粹的代码原因呢?


检查过代码 没有发现问题


// 模拟post请求,带证书
  public function curl_post_ssl($url, $xmldata, $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);
//        curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');
//        curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');
     curl_setopt($ch,CURLOPT_SSLCERT, getcwd().'/Public/ThinkPHP/Library/Vendor/wxpay/cert/'.$this->api_cert);
     curl_setopt($ch,CURLOPT_SSLKEY, getcwd().'/Public/ThinkPHP/Library/Vendor/wxpay/cert/'.$this->api_key);

     if( count($aHeader) >= 1 ){
        curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);
     }
   
     curl_setopt($ch,CURLOPT_POST, 1);
     curl_setopt($ch,CURLOPT_POSTFIELDS,$xmldata);
     $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;
     }
  }

将VERIFYPEER 改为true

VERIFYHOST 改为2 依然无返回 求大佬帮下

最后一次编辑于  02-01  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • 波
    02-01

    您好,有没有什么报错信息,或提供您的请求数据。

    02-01
    赞同
    回复