PayPal Rest SDK API - 获取令牌
Posted
技术标签:
【中文标题】PayPal Rest SDK API - 获取令牌【英文标题】:PayPal Rest SDK API - Get Token 【发布时间】:2015-09-06 14:51:45 【问题描述】:我真的被难住了;尝试使用 PayPal REST api,甚至无法获取访问令牌。使用 CURL (example) 时,令牌创建得很好,所以我知道客户端 ID 和机密都可以。
当我将下面的代码与 php 库一起使用时,我在 JSON 响应中获得了 null 的访问令牌。
require_once('/home/admin/vendor/autoload.php');
$host = 'https://api.sandbox.paypal.com';
$clientId = <CLIENT_ID>;
$clientSecret = <CLIENT_SECRET>;
use PayPal\Auth\OAuthTokenCredential;
$sdkConfig = array(
"mode" => "sandbox"
);
$cred = new OAuthTokenCredential(
$clientId,
$clientSecret,
$sdkConfig
);
var_dump($cred);
var_dump JSON 响应: "accessToken":"PayPal\Auth\OAuthTokenCredential":private]=> NULL
【问题讨论】:
这不是 JSON 响应,而是Object
转储。现在,在您必须这样做的时候,您不需要 $cred
拥有访问令牌,如果我没记错的话,一旦您开始进行实际通话或可能在您设置时,它将自动生成API 上下文对象。
Jon,根据他们的集成指南devtools-paypal.com/guide/pay_paypal/…,令牌应该在响应中。
坦率地说,他们的集成指南毫无用处。在一些地方,它也是完全错误的(或者可能只是不是最新的)。
我们在paypal.github.io/PayPal-PHP-SDK 添加了很多有趣的SDK 特定文档。具体来说,您可以轻松地按照此处提供的步骤来掌握我们的 sdk:github.com/paypal/PayPal-PHP-SDK/wiki/Making-First-Call。我们还有很多示例,您可以在此处看到:paypal.github.io/PayPal-PHP-SDK/sample 并使用在github.com/paypal/PayPal-PHP-SDK/wiki/Samples 中提到的一个命令在您的本地机器上运行@
【参考方案1】:
从the SDK code 来看,OAuthTokenCredential
构造函数方法不采用 $config
参数,但 getAccessToken()
方法采用。
下面是OAuthTokenCredential
类代码中的方法:
public function __construct($clientId, $clientSecret) ...
public function getAccessToken($config) ...
以下内容应该为您获取访问令牌:
$clientId = <CLIENT_ID>;
$clientSecret = <CLIENT_SECRET>;
use PayPal\Auth\OAuthTokenCredential;
$sdkConfig = array(
"mode" => "sandbox"
);
$cred = new OAuthTokenCredential(
$clientId,
$clientSecret
);
$access_token = $cred->getAccessToken($sdkConfig);
echo $access_token;
【讨论】:
以上是关于PayPal Rest SDK API - 获取令牌的主要内容,如果未能解决你的问题,请参考以下文章
使用 paypal/rest-api-sdk-php 的 laravel paypal 集成错误
使用 Paypal Rest API 的直接卡支付时如何安全地获取客户的信用卡
带有 Laravel 4 的 PayPal rest-api-sdk-php