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 的直接卡支付时如何安全地获取客户的信用卡

PayPal REST SDK 已弃用

带有 Laravel 4 的 PayPal rest-api-sdk-php

如何使用 PayPal REST API 和 PayPal PHP SDK 保存 PayPal 帐户以备将来付款

PayPal Rest API SDK:如何添加 SOLUTIONTYPE 选项(或等效项)