我能够在使用给定的访问令牌时请求访问令牌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_id
。secret
此外,我尝试将 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_token
、post
支付、get
支付和execute
)并且没有问题。所以问题一定出在PHP代码上