【发布时间】:2020-08-10 16:35:19
【问题描述】:
我正在将我们的软件(它使用 PayPal SOAP API 代表商家向 PayPal 发出请求)迁移到 PayPal REST API 基础架构。
我正在使用我的 PayPal 开发者帐户的客户端 ID/密码从沙盒获取不记名令牌,使用 https://api.sandbox.paypal.com/v1/oauth2/token。
然后我正在使用我们刚刚获得的不记名令牌致电https://api.sandbox.paypal.com/v2/checkout/orders,代表商家发出请求。我正在使用带有以下(编码)JWT-Token 的 PayPal-Auth-Assertion 标头:
Header:
{
"typ": "JWT",
"alg": "HS256"
}
Body: {
"email": "[merchant e-mail]",
"iss": "[my client id]"
}
“商户邮箱”是我在https://developer.paypal.com/developer/accounts/开设的沙盒账户之一
作为回报,我得到一个(400) Bad Request {"error":"invalid_request","error_description":"No permissions to set target_client_id"}。
沙盒帐户似乎必须有一个额外的步骤才能向开发者帐户授予权限。对于 SOAP API,我可以在以下屏幕 中添加第三方的用户名。然后我可以使用与X-PAYPAL-SECURITY-USERID 的标头值相同的用户名。但是,我似乎无法以相同的方式链接沙盒帐户,因为主帐户(我从中获取客户端 ID 的那个)没有“第三方用户名”。
究竟需要进行哪些配置才能允许对 REST API 进行这些类型的第 3 方调用?
【问题讨论】:
标签: paypal paypal-sandbox paypal-rest-sdk