Paypal (PHP): невозможно использовать сертификат клиента (ключ не найден или неверная пароль?)

1

Я использую Paypal Express Checkout для своей торговой карты. Я создал файл сертификата API, как показано ниже. Изображение 174551

Я удалил файл сертификата api cert_key_pem.txt и использовал для учетных данных api, как cert_key_pem.txt ниже.

  $API_UserName = $paypal->username;
  $API_Password = $paypal->password;
  $API_Endpoint = "https://api-3t.sandbox.paypal.com/nvp";
  $PAYPAL_URL = "https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&token=";
  $version="64";
  $currencyCodeType = "USD";
  $paymentType = "Sale";
  $methodName = "DoExpressCheckoutPayment";
  $certFile = 'C:\xampp\htdocs\project-name\cert_key.txt';//forlocalhost
  //$certFile = '/home/cpanel-username/public_html/cert_key_pem.txt'; //for live server

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL,$API_Endpoint);
  curl_setopt($ch, CURLOPT_VERBOSE, 1);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  curl_setopt($ch, CURLOPT_SSLCERT, $certFile);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  curl_setopt($ch, CURLOPT_POST, 1);

  $nvpreq="METHOD=" . urlencode($methodName) . "&VERSION=" . urlencode($version) . "&PWD=" . urlencode($API_Password) . "&USER=" . urlencode($API_UserName) . $nvpStr . "&BUTTONSOURCE=" . urlencode($sBNCode);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $nvpreq);

 $response = curl_exec($ch);
 if(curl_exec($ch) === false)
  {
     $message = curl_error($ch);
  }
  else
  {
     $message = 'Operation completed without any errors';
  }

 curl_close($ch);

 echo $message;

но я получил сообщение об ошибке, как показано ниже.

  unable to use client certificate (no key found or wrong pass phrase?)

если у вас есть идея по решению такого рода ошибок, пожалуйста, помогите мне. благодаря

Теги:
curl
ssl
paypal

1 ответ

1
Лучший ответ

Если вы используете сертификат для авторизации API, вы можете изменить конечную точку на https://api.sandbox.paypal.com/nvp

Https://api -3t.sandbox.paypal.com/nvp, и все "-3t" суффиксные конечные точки предназначены для аутентичных вызовов API аутентификации (3T означает 3 токена: имя пользователя/пароль/подпись)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню