访问PayPal沙箱Rest API时的响应401

时间:2015-03-08 06:23:45

标签: php paypal paypal-sandbox paypal-rest-sdk

我能够在https://api.sandbox.paypal.com/v1/oauth2/token处请求访问令牌,并使用给定的访问令牌发送POSThttps://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是沙箱凭据。

此外,我已尝试将cURL运行到上面的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:事实上,我尝试使用cURL运行整个流程(请求access_tokenpost付款,get付款和execute)有问题。所以问题必须是PHP代码

1 个答案:

答案 0 :(得分:1)

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