简体   繁体   中英

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

I'm using Paypal Express Checkout for my shopping chart. i have created my API certificate file as below. 在此处输入图片说明

i have downloaed the api certificate file cert_key_pem.txt and used for api credential as below.

  $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;

but i got the error message as below.

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

if you have any idea on solving such type of errors then please help me. thanks

If you are using certificate to auth the API, you may want to change the endpoint to https://api.sandbox.paypal.com/nvp

The https://api-3t.sandbox.paypal.com/nvp , and all "-3t" surffixed endpoints are for signature auth API calls (3T means 3 token: username/password/signature)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM