PayPal REST API:代表商家提出请求

问题描述 投票:1回答:1

我正在迁移我们的软件,该软件代表商家使用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,以代表商家发出请求。我正在将PayPal-Auth-Assertion标头与以下(编码的)JWT令牌一起使用:

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,我可以在以下屏幕enter image description here中添加第三方的用户名。然后,我可以使用与X-PAYPAL-SECURITY-USERID标头值相同的用户名。但是,我似乎无法以相同的方式链接沙盒帐户,因为主帐户(我从中获取客户ID的帐户)没有“第三方用户名”。

要对这些类型的REST API进行第三方调用的确切配置是什么?

paypal paypal-sandbox paypal-rest-sdk
1个回答
0
投票

您需要成为PayPal合作伙伴才能使用该类型的功能。如果您想成为合作伙伴,请联系PayPal。

如果要使用它们的通常可访问的API,则有两个选择。

  1. [让每个商人通过https://www.paypal.com/signin?intent=developer&returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdeveloper%2Fapplications创建自己的REST API应用,然后将其实时客户端ID和密码复制粘贴到您的配置中。这是最好的解决方案,也是您应该追求的解决方案。
  2. 使用payee对象:https://developer.paypal.com/docs/checkout/integration-features/custom-payee/,可以减少控制权(例如,无法获得授权或退款)
© www.soinside.com 2019 - 2024. All rights reserved.