我正在使用prestapaypalplugin表单http://www.symfony-project.org/plugins/prestaPaypalPlugin。我在redme.txt文件中准备了动作文件。但我收到此错误“curl_exec错误60 Peer的证书颁发者无法识别”。有直接付款和快速结账方式。我试过网站付款,工作正常。
感谢。
答案 0 :(得分:2)
这似乎是CA证书问题。可能这篇帖子对你有帮助:
HTTPS and SSL3_GET_SERVER_CERTIFICATE:certificate verify failed, CA is OK
答案 1 :(得分:1)
或者,您可以在代码中执行此操作。下载cacert.pem并直接在代码中设置它的路径。像这样:
$caller =& PayPal::getCallerServices($profile);
$caller->setOpt('curl', CURLOPT_CAINFO, '/PATH/TO/cacert.pem');
请注意,您无法通过更新php.ini中的路径来修复,因为presta会使用 PROJECTDIR /plugins/prestaPaypalPlugin/sdk/lib/PayPal/cert/api_cert_chain.crt覆盖php.ini默认值 PROJECTDIR /plugins/prestaPaypalPlugin/sdk/lib/PayPal/CallerServices.php:
function CallerServices($profile)
{
...
$this->setOpt('curl', CURLOPT_CAINFO, dirname(__FILE__) . '/cert/api_cert_chain.crt');