一个客户网站需要接入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证书,也能解决此问题。