一個客戶網站需要接入paypal網頁準標版支付,我們做完程序做測試的時候,在paypal日志中,總是報錯14090086,在網絡中查找了很多相關方面的資料,都沒有找到答案,后來打電話去paypal技術部才最終到了解決辦法。主要是由于我的服務器SSL證書過期或不存在的問題。
我們先看一下代碼片斷:
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);//在這里出現了問題
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
if(DEBUG == true) {
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLINFO_HEADER_OUT, 1);
}
以上的紅色區域為回調SSL驗證,如果把上面的代碼中的數字改為0,不驗證SSL就能解決此問題。當然安全性會下降,也可以在服務器上安裝更新paypal的SSL證書,也能解決此問題。