收藏
回答

微信普通商户分账,提示本地客户端证书有问题。

function postXmlSSLCurl($xml,$url,$second=30)

{

$url = 'https://api.mch.weixin.qq.com/secapi/pay/profitsharing';

// print_r("<pre>");print_r($xml);exit();

$ch = curl_init();

//超时时间

curl_setopt($ch,CURLOPT_TIMEOUT,$second);

//这里设置代理,如果有的话

        //curl_setopt($ch,CURLOPT_PROXY, '8.8.8.8');

        //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);

//设置header

curl_setopt($ch,CURLOPT_HEADER,FALSE);

//要求结果为字符串且输出到屏幕上

$dava = curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);

//设置证书

//使用证书:cert 与 key 分别属于两个.pem文件

//默认格式为PEM,可以注释

curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');

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

//默认格式为PEM,可以注释

curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');

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

//post提交方式

curl_setopt($ch,CURLOPT_POST, true);

curl_setopt($ch,CURLOPT_POSTFIELDS,$xml);

$data = curl_exec($ch);

// $res = json_decode($data);

// var_dump($res);exit();

//返回结果

if($data){

curl_close($ch);

return $data;

}

else { 

$error = curl_errno($ch);

echo "curl出错,错误码:$error"."<br>"; 

echo "<a href="http://curl.haxx.se/libcurl/c/libcurl-errors.html'>错误原因查询
";

curl_close($ch);

return false;

}

}


回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容