我正在努力在我的网站上允许使用 PayPal 直接信用卡付款。我从这里下载了 PayPal PHP RESTful SDK https://github.com/paypal/PayPal-PHP-SDK/releases我正在按照有关从此处设置直接信用卡付款的说明... https://devtools-paypal.com/guide/pay_creditcard/php?interactive=ON&env=sandbox .
我被难住了。 SDK 具有如下文件夹结构:
composer->subfolders...
paypal->subfolders...
psr->subfolders...
autoload.php
所以我在我的 PHP 脚本中包含了 autoload.php 文件,当我尝试执行教程中的第一步时,它是以下代码
$paypal = new OAuthTokenCredential($clientId, $clientSecret, $sdkConfig);
我收到 fatal error :找不到类 'OAuthTokenCredential'
但是,如果我改为使用以下代码...
$paypal = new \PayPal\Auth\OAuthTokenCredential($clientId, $clientSecret, $sdkConfig);
我得到一个如下所示的对象:
PayPal\Auth\OAuthTokenCredential Object
(
[clientId:PayPal\Auth\OAuthTokenCredential:private] => CLIENT_ID
[clientSecret:PayPal\Auth\OAuthTokenCredential:private] => CLIENT_SECRET
[accessToken:PayPal\Auth\OAuthTokenCredential:private] =>
[tokenExpiresIn:PayPal\Auth\OAuthTokenCredential:private] =>
[tokenCreateTime:PayPal\Auth\OAuthTokenCredential:private] =>
[cipher:PayPal\Auth\OAuthTokenCredential:private] => PayPal\Security\Cipher Object
(
[secretKey:PayPal\Security\Cipher:private] => CLIENT_SECRET
)
[_propMap:PayPal\Common\PayPalModel:private] => Array
(
)
)
但是我在教程的第 2 步中需要的 accessToken
是空的。
我到底做错了什么?任何人都可以为此提供直接的分步指南吗?有没有我找不到的可用的?
谢谢!
最佳答案
您链接到的教程说它适用于 PHP,但实际上并非如此。 This one on PayPal's PHP SDK github is more directly for PHP. 这是该页面的代码,以防它消失:
<?php
// 1. Autoload the SDK Package. This will include all the files
// and classes to your autoloader
// Used for composer based installation
require __DIR__ . '/vendor/autoload.php';
// Use below for direct download installation
// require __DIR__ . '/PayPal-PHP-SDK/autoload.php';
$apiContext = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
'AYSq3RDGsmBLJE-otTkBtM-jBRd1TCQwFf9RGfwddNXWz0uFU9ztymylOhRS', // ClientID
'EGnHDxD_qRPdaLdZz8iCr8N7_MzF-YHPTkjs6NKYQvQSBngp4PTTVWkPZRbL' // ClientSecret
)
);
// Save Credit Card to vault and then read it back
$creditCard = new \PayPal\Api\CreditCard();
$creditCard->setType("visa")
->setNumber("4417119669820331")
->setExpireMonth("11")
->setExpireYear("2019")
->setCvv2("012")
->setFirstName("Joe")
->setLastName("Shopper");
try {
$creditCard->create($apiContext);
echo $creditCard;
}
catch (\PayPal\Exception\PayPalConnectionException $ex) {
// This will print the detailed information on the exception.
//REALLY HELPFUL FOR DEBUGGING
echo $ex->getData();
}
关于PHP - Paypal RESTful API SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40268618/