【问题标题】:REST API returning an AUTHORIZATION_ERRORREST API 返回 AUTHORIZATION_ERROR
【发布时间】:2014-06-19 09:37:12
【问题描述】:

按照 Invoicing REST API https://developer.paypal.com/docs/api/#invoicing 中提供的一些示例,我总是收到 AUTHORIZATION_ERROR。

这是一个例子:

首先取回我的令牌:

curl https://api.sandbox.paypal.com/v1/oauth2/token \
>  -H "Accept: application/json" \
>  -H "Accept-Language: en_US" \
>  -u "AbNzCxxxxs6iVF0:EBhQWxxxxxxrgefvhb" \
>  -d "grant_type=client_credentials"
{"scope":"openid https://uri.paypal.com/services/invoicing https://api.paypal.com/v1/payments/.* https://api.paypal.com/v1/vault/credit-card/.* https://api.paypal.com/v1/vault/credit-card","access_token":"F9Ig.4FXq1DQICPrMaUUb0-K--3dWBHvqRck636df4A","token_type":"Bearer","app_id":"APP-80W284485P519543T","expires_in":28800}%

然后使用该令牌创建发票:

curl -v -X 'POST' 'https://api.sandbox.paypal.com/v1/invoicing/invoices' \
> -H 'Content-Type: application/json' \
> -H 'Authorization: Bearer F9Ig.4FXq1DQICPrMaUUb0-K--3dWBHvqRck636df4A' \
> -d '{
quote>   "merchant_info": {
quote>     "email": "rdg@rapiddg.com",
quote>     "first_name": "Mike",
quote>     "last_name": "Bopp",
quote>     "business_name": "RDG",
quote>     "phone": {
quote>       "country_code": "001",
quote>       "national_number": "5032141716"
quote>     },
quote>     "address": {
quote>       "line1": "1234 Main St.",
quote>       "city": "Portland",
quote>       "state": "OR",
quote>       "postal_code": "97217",
quote>       "country_code": "US"
quote>     }
quote>   }
quote> }'
* Adding handle: conn: 0x7ff110804000
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x7ff110804000) send_pipe: 1, recv_pipe: 0
* About to connect() to api.sandbox.paypal.com port 443 (#0)
*   Trying 23.52.155.39...
* Connected to api.sandbox.paypal.com (23.52.155.39) port 443 (#0)
* TLS 1.2 connection using TLS_RSA_WITH_RC4_128_SHA
* Server certificate: api.sandbox.paypal.com
* Server certificate: VeriSign Class 3 Secure Server CA - G3
* Server certificate: VeriSign Class 3 Public Primary Certification Authority - G5
* Server certificate: Class 3 Public Primary Certification Authority - G2
> POST /v1/invoicing/invoices HTTP/1.1
> User-Agent: curl/7.30.0
> Host: api.sandbox.paypal.com
> Accept: */*
> Content-Type: application/json
> Authorization: Bearer F9Ig.4FXq1DQICPrMaUUb0-K--3dWBHvqRck636df4A
> Content-Length: 387
>
* upload completely sent off: 387 out of 387 bytes
< HTTP/1.1 401 Unauthorized
* Server Apache-Coyote/1.1 is not blacklisted
< Server: Apache-Coyote/1.1
< PROXY_SERVER_INFO: host=slcsbjava3.slc.paypal.com;threadId=220
< Paypal-Debug-Id: 0329fb0c0e560
< WWW-Authenticate: OAuth
< Content-Type: application/json
< DC: origin2-api.sandbox.paypal.com
< Date: Fri, 02 May 2014 15:31:53 GMT
< Connection: close
< Set-Cookie: DC=origin2-api.sandbox.paypal.com; secure
<
* Closing connection 0
{"name":"AUTHORIZATION_ERROR","message":"Authorization error occurred.","debug_id":"0329fb0c0e560"}%

我可以像这里一样成功发送付款请求:https://developer.paypal.com/docs/integration/direct/make-your-first-call/

但由于某种原因,发票不起作用。
我已验证在我的沙盒应用中我已启用发票

任何帮助表示赞赏,在此先感谢。

【问题讨论】:

  • 我可以在沙盒上重新创建错误,但是,当我切换到 Live 时它起作用了。看起来它可能与您的帐户无关。
  • 感谢跟进,有没有办法提交ticket,或者关注这个问题的状态(如果这确实是一个问题)?这是我正在开发的应用程序所需的功能。
  • 如果您愿意,可以在paypal.com/mts 上提交票证。
  • 你有没有进一步了解你的项目。我在尝试访问我的付款时遇到了类似的问题。我从您的范围借了一些代码,并且能够显示我的发票。我正在使用我的真实账户,但我无法进入我的付款。自上周以来一直在尝试,但没有成功。
  • 我已为我的问题向 Paypal 提交了一张票。虽然我不知道您遇到的是否是相关问题,因为它与从真实账户而不是沙盒访问付款有关。

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


【解决方案1】:

请将电子邮件地址 (rdg@rapiddg.com) 更改为与您之前创建的应用程序相关联的电子邮件地址。 请继续检查您的 REST APP 中的电子邮件地址。

【讨论】:

  • 这是唯一可能的问题吗?
  • 是的,请在您身边尝试。
  • 如果商户邮箱没有关联到您的申请账号,会触发未授权错误。
  • 如何关联账户?
  • 使用您想要的电子邮件地址创建一个新应用程序。请参阅指南,developer.paypal.com/docs/classic/lifecycle/goingLive
猜你喜欢
  • 2020-07-30
  • 2018-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
  • 2015-04-25
  • 2017-09-02
相关资源
最近更新 更多