PayPal - 无效的测试 API 凭据



嗨,

我已经在PayPal设置了一个企业帐户,似乎我已经拥有了我的测试 API 凭据,因为我可以从我的沙盒帐户中成功检索它们。

现在我正在尝试进行"第一次调用"以获取授权令牌。


这是我的PHP代码:

$ch = curl_init();
$clientId = "myid"; //not the actual one
$secret = "mypass"; //not the actual one
curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/oauth2/token");
curl_setopt($ch, CURLOPT_HEADER, "Accept: application/json");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERPWD, $clientId.":".$secret);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");
$result = curl_exec($ch);
$json = json_decode($result);
print_r($json);
curl_close($ch);

以下是回应:

stdClass Object ( [error] => invalid_client [error_description] => Invalid client credentials ) 

有人知道吗?

谢谢

编辑:此登录正在工作(我在其他地方找到它):

clientId: ASF6RRBP0uTq7FnC90tpFx7vfA-Pliw8uQDjv5RZ10Y_NVspuc88pUPLN6yM
Secret: EAdx7BDKzWczDomYG2QDHu8jhaAXj4xDZLHadvL5aRfesjwo5c81zbSpRxuE

奇怪的是,格式看起来与我的非常不同。

我被困在这里,没有令牌就不能再走下去了。

您可以将其作为标头传递,如下所示:

"Authorization" => "Basic " . base64_encode($clientId . ":" . $clientSecret)

这应该与上述相同。

你可以像这样写在curl_setopt上:

curl_setopt($ch, CURLOPT_HEADER, "Authorization: Basic " . base64_encode($clientId . ":" . $clientSecret));

另外,出于好奇,你可能想尝试一下PayPal-PHP-SDK。他们有所有这些花里胡哨的东西,这将使您远离手动获取此代码。它包含文档和示例,可帮助您快速开始使用任何 API。

最后我设法让它工作

正确的凭据是 60 位的哈希,而不是最初看到的 16 位

我必须创建一个应用程序来获取它们

没有人告诉我,在PayPal,甚至没有"商家技术支持"

希望这对将来的某人有所帮助

感谢您的回答

相关内容

  • 没有找到相关文章

最新更新