微信公眾號紅包接口開發PHP開發 CA證書出錯,請登陸微信支付商戶平台下載證書


微信紅包接口調試過程中一直提示“CA證書出錯,請登陸微信支付商戶平台下載證書”,經反復調試,大致解決方法如下:

1.首先確保CA證書的路徑是否正確,一定得是絕對路徑,因為是PHP開發的,這里需要三個pem證書

2.確保服務器支持,新浪雲的sae,經測試支持不是很好,一直報錯,換用其他服務器后,一次通過

 

POST紅包證書的代碼部分如下:

function post( $strXml) {

$url='https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);

//因為微信紅包在使用過程中需要驗證服務器和域名,故需要設置下面兩行
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); // 只信任CA頒布的證書
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 檢查證書中是否設置域名,並且是否與提供的主機名匹配


curl_setopt($ch, CURLOPT_SSLCERT,'/var/www/html/hongbao/apiclient_cert.pem');
curl_setopt($ch, CURLOPT_SSLKEY,'/var/www/html/hongbao/apiclient_key.pem');
curl_setopt($ch, CURLOPT_CAINFO, '/var/www/html/hongbao/rootca.pem'); // CA根證書(用來驗證的網站證書是否是CA頒布)


curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $strXml);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM