错误:在Symfony 1.4 prestapaypalplugin直接和快速结账方法中出现“curl_exec错误60 Peer's Certificate issuer”

问题描述 投票:0回答:2

我正在使用prestapaypalplugin形式http://www.symfony-project.org/plugins/prestaPaypalPlugin。我在redme.txt文件中准备了动作文件。但我收到此错误“curl_exec错误60 Peer的证书颁发者无法识别”。有直接付款和快速结账方式。我试过网站付款,工作正常。

谢谢。

curl paypal symfony-1.4
2个回答
2
投票

这似乎是一个CA证书问题。可能这篇帖子对你有帮助:

HTTPS and SSL3_GET_SERVER_CERTIFICATE:certificate verify failed, CA is OK


1
投票
  1. 下载https://curl.haxx.se/ca/cacert.pem
  2. 将其重命名为api_cert_chain.crt
  3. 复制到PROJECTDIR / plugins / prestaPaypalPlugin / sdk / lib / PayPal / cert /(用同名覆盖现有文件)

或者,您可以在代码中执行此操作。下载cacert.pem并直接在代码中设置它的路径。像这样的东西:

$caller =& PayPal::getCallerServices($profile);
$caller->setOpt('curl', CURLOPT_CAINFO, '/PATH/TO/cacert.pem');

请注意,您无法通过更新php.ini中的路径来修复,因为presta会在PROJECTDIR / plugins / prestaPaypalPlugin / sdk / lib /中使用PROJECTDIR / plugins / prestaPaypalPlugin / sdk / lib / PayPal / cert / api_cert_chain.crt覆盖php.ini默认值贝宝/ CallerServices.php:

function CallerServices($profile)
{
  ...
  $this->setOpt('curl', CURLOPT_CAINFO, dirname(__FILE__) . '/cert/api_cert_chain.crt');
© www.soinside.com 2019 - 2024. All rights reserved.