php - 访问 PayPal 沙箱 Rest API 时响应 401

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

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

但是当对我也使用上面的访问 token 创建的 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 的 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 表示访问 token 无效或过期,但我认为它不适用于此处,因为之前的 POST 命令可以成功运行。

更新 #1:事实上,我已经尝试运行整个流程(请求 access_tokenpost 付款、get 付款和 execute) 使用 cURL 并且没有问题。所以问题一定出在PHP代码上

最佳答案

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

关于php - 访问 PayPal 沙箱 Rest API 时响应 401,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28923725/

相关文章:

android - Paypal购物车以网页方式打开算不算应用内支付?

paypal - 我可以检测 PayPal 中的自动返回 url 选项是打开还是关闭?

asp.net-mvc - 请求被中止 : Could not create SSL/TLS secure channel. System.Net.WebException

PHP 多字节字符串函数

c# - Paypal API 登录停止工作

php - Paypal REST API item_list 必填字段缺失

php - Paypal IPN 听众听不到

javascript - 使用 PHP 和 javascript 数组的 Google 图表

php - 迭代查询并将数字分组

php - 内存耗尽cakephp数据库查询