Я смог запросить токен доступа на https://api.sandbox.paypal.com/v1/oauth2/token
и отправить POST
создать новый платеж в https://api.sandbox.paypal.com/v1/payments/payment
используя данный токен доступа. Эти два API работают без проблем.
Но при выполнении GET
к payment_id, который я создал, также используя вышеупомянутый токен доступа, он дал мне 401
https://api.sandbox.paypal.com/v1/payments/payment/PAY-XXXX
, Это шаг, на котором я хочу выполнить платеж в моем return_url
,
Я использую PayPal PHP SDK, скачанный с https://github.com/paypal/PayPal-PHP-SDK. Все еще в режиме песочницы. client_id
а также secret
являются учетными данными песочницы.
Кроме того, я попытался запустить cURL выше URL-адреса payment_id, но он дал HTTP/1.1 401 Unauthorized
также.
curl -v https://api.sandbox.paypal.com/v1/payments/payment/PAY-XXXX
-H 'Content-Type: application/json'
-H 'Authorization: Bearer ACCESS_TOKEN'
Согласно документации, 401
означает недействительный или просроченный токен доступа, но я не думаю, что он применяется здесь, потому что предыдущий POST
Команда может успешно работать.
ОБНОВЛЕНИЕ № 1: На самом деле, я попытался запустить весь поток (запрос access_token
, post
оплата, get
оплата и execute
) с использованием cURL и не было проблем. Так что проблема должна быть с кодом PHP
В PHP была одна опечатка, которая дала мне ошибку access_token
, Интересно, что POST
Способ создания нового платежа все же был разрешен, что смутило меня.
Других решений пока нет …