2

我能够在使用给定的访问令牌时请求访问令牌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.

我正在使用从https://github.com/paypal/PayPal-PHP-SDK下载的 PayPal PHP SDK 。一切仍处于沙盒模式。和是沙盒凭据client_idsecret

此外,我尝试将 cURL 运行到上面的 payment_id 的 URL,但它也给出了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:事实上,我已经尝试使用 cURL 运行整个流程(请求access_tokenpost支付、get支付和execute)并且没有问题。所以问题一定出在PHP代码上

4

1 回答 1

1

PHP 中有一个错字让我错了access_token。有趣的POST是,仍然允许创建新付款的方法让我感到困惑。

于 2015-03-08T10:14:12.100 回答