访问 PayPal 沙盒 Rest 时响应 401 API

Response 401 when accessing PayPal sandbox Rest API

我能够在 https://api.sandbox.paypal.com/v1/oauth2/token 请求访问令牌并发送 POST 以使用给定的访问令牌在 https://api.sandbox.paypal.com/v1/payments/payment 创建新的付款。这两个 API 运行 没有任何问题。

但是当对我也使用上面的访问令牌创建的 payment_id 执行 GET 时,它给了我 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 是沙箱凭据。

此外,我已经尝试 运行ning 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:事实上,我已经尝试 运行 整个流程(请求 access_tokenpost 付款、get 付款和 execute) 使用 cURL 没有问题。所以问题一定出在 PHP 代码

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