PAYPAL - неверные учетные данные API теста

0

Здравствуй,

Я установил бизнес-аккаунт в Paypal, и кажется, что у меня уже есть свои учетные данные Test API, так как я могу успешно извлечь их из своих учетных записей Sandbox.

Теперь я пытаюсь сделать "первый звонок", чтобы получить токен авторизации.


Вот мой 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 ) 

Кто-нибудь знает?

благодаря

EDIT: этот логин работает (я нашел его в другом месте):

clientId: ASF6RRBP0uTq7FnC90tpFx7vfA-Pliw8uQDjv5RZ10Y_NVspuc88pUPLN6yM
Секрет: EAdx7BDKzWczDomYG2QDHu8jhaAXj4xDZLHadvL5aRfesjwo5c81zbSpRxuE

Странно формат выглядит очень по-другому.

Я застрял здесь, не могу идти дальше без токена.

  • 0
    Вы уверены, что используете учетные данные песочницы, поскольку ваша конечная точка - песочница? убедитесь, что между $ clientid и $ secret id нет пустого места
  • 0
    Используйте этот метод класса для обработки вашего платежа, предоставленного PayPal. github.com/paypal/ipn-code-samples/blob/master/paypal_ipn.php
Показать ещё 1 комментарий
Теги:
curl
paypal
paypal-sandbox

2 ответа

0

наконец, мне удалось заставить его работать

правильные учетные данные являются хешем из 60 цифр, а не 16, как в первый раз

я должен был создать приложение, чтобы получить их

никто не сказал мне, что в paypal, даже "техническая поддержка торговцев",

надеюсь, что это поможет кому-то в будущем

спасибо за ваши ответы

0

Вы можете передать его в виде заголовка, как показано ниже:

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

Это должно действовать так же, как указано выше.

Вы можете написать его на curl_setopt следующим образом:

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

Кроме того, просто из любопытства, вы можете попробовать PayPal-PHP-SDK. У них есть все эти звонки и свистки, которые не позволят вам вручную получить этот код. В нем есть документация и образцы, которые помогут вам начать работу с любым API довольно быстро.

  • 0
    хочу попробовать, но как мне написать это в php с помощью curl_setopt?
  • 0
    Обновил ответ соответственно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню