与 PayPal 连接 - invalid_client 沙盒客户端身份验证失败

Connect with PayPal - invalid_client Client Authentication failed with sandbox

我正在 this documentation 之后在我的 vuejs 应用程序上实现 Connect With PayPal,但是当我尝试获取访问令牌时,我一直收到 invalid_client 错误。

我已经在我的帐户上创建了沙盒 REST 应用程序,并且启用了“连接 PayPal”。我还在应用程序设置中设置了 return url。为了构建按钮,我使用了 button builder 并指定了我的客户端 ID return url 并将身份验证端点设置为“沙盒”。我在我的 index.html 中添加了外部脚本,在我的组件中添加了 paypal.use() 方法。

所以现在我的界面上有连接按钮,当我点击它时,我被重定向到 https://www.sandbox.paypal.com/connect/,这是正常的。我可以使用我的两个默认沙箱帐户登录,然后我被重定向到我在我的应用程序设置中指定的 return url,有两个 url 参数:“code”和“scope”如文档中所述。

但是我被困在 this step 处,我需要为连接的用户获取访问令牌。

我已经尝试 运行 this curl request 使用我的客户端 ID / 密码和来自 url 的代码,但正如我之前所说,它不起作用,我得到了这个每次都出错:

HTTP/1.1 401 Unauthorized
Cache-Control: max-age=0, no-cache, no-store, must-revalidate
Content-Length: 77
Content-Type: application/json
Date: Wed, 08 Jul 2020 22:01:03 GMT
Paypal-Debug-Id: 8abaa5940b688
X-Paypal-Token-Service: IAAS

{
  "error":"invalid_client",
  "error_description":"Client Authentication failed"
}

我已经多次检查了我的客户端 ID 和密码,但我不明白为什么这不起作用,有人知道吗?

此类错误的解决方案是验证并确认请求中的所有内容均已正确发送并正确编码

curl 的 -u 标志使 username:password header 身份验证更容易

curl 的 -v 标志将提供有关实际通信的可见性,以验证