我能够在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_id
和secret
是沙箱凭据。
此外,我已尝试将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_token
,post
付款,get
付款和execute
)有问题。所以问题必须是PHP代码
答案 0 :(得分:1)
PHP中有一个拼写错误access_token
。有趣的是,仍然允许创建新付款的POST
方法让我感到困惑。