通过 Braintree SDK 的 Paypal Express Checkout 突然失败(缺少服务商 REST API 应用程序?)
Posted
技术标签:
【中文标题】通过 Braintree SDK 的 Paypal Express Checkout 突然失败(缺少服务商 REST API 应用程序?)【英文标题】:Paypal Express Checkout through Braintree SDK suddenly fails (missing facilitator REST API App?) 【发布时间】:2017-09-08 13:15:51 【问题描述】:我们通过 Braintree SDK (js v3) 实现了 PayPal 快速结账,因为这允许我们使用自己的 html 按钮,而如果我们使用 REST API,则必须使用提供的 PayPal 按钮。
直到昨天,在我们的现场设置中一切正常。代码在客户端和服务器上都没有更改。 但是,我确实删除了 PayPal 开发人员仪表板中的两个 REST API 应用程序,因为我们决定采用 Braintree JS SDK 路径,因此不再需要它们。
在那之后,快速结账开始抛出 AuthenticationErrors。 在我们的服务器上生成客户端令牌仍然有效。执行实际结帐在标记化时失败。 我收到以下异常:
"paymentResource":
"errorName": "invalid_client",
"errorMessage": "Client Authentication failed",
"errorDetails": null,
"debugId": "84b227241374e",
"paypalHttpStatus": 401
整个设置使用测试 access_token 顺便说一句:/
我目前的假设是 Braintree SDK access_token 以某种方式与默认的 REST API 应用程序 (email-facilitator@domain.tld) 耦合。我删除了这个默认的 REST API 应用程序。
我发现了以下常见问题解答文章,我相信它证明了这个假设可能是正确的:https://www.paypal-knowledge.com/infocenter/index?page=content&id=FAQ1938&expand=true&locale=en_US
我们现在切换到另一个 PayPal 帐户,因为我们无法弄清楚出了什么问题。除了新的 access_token 之外,无需更改任何代码,一切都重新开始工作。
以前有没有人经历过这种或类似的事情? 有谁知道我该怎么做
删除 Braintree 帐户或重新生成它(这有望恢复到我的新 REST API 应用程序的链接)?或 恢复我的 Braintree SDK access_token 和我的 REST API 应用程序之间的链接?如果有什么不清楚的地方,或者如果我可以在某处提供更多上下文,请告诉我!
【问题讨论】:
您是对的:当您删除 PayPal REST API 时,access_token 被撤销。要解决您的问题,请访问paypal-techsupport.com/app/ask 并填写表格。在产品字段中选择Braintree Direct > Express Checkout via Braintree SDK。这是解决 access_token 问题或 REST API 应用程序问题的最快途径。 感谢@BrianK!我已经提交了工单,并将报告最终解决方案。您能否将您的评论转换为答案,以便我将其标记为正确的解决方案? 【参考方案1】:正如 Brian K 正确指出的那样,解决方案是通过 paypal-techsupport.com/app/ask 联系 PayPal 技术支持,并要求恢复已删除的 REST API 应用程序。 现在一切都恢复正常了。
【讨论】:
以上是关于通过 Braintree SDK 的 Paypal Express Checkout 突然失败(缺少服务商 REST API 应用程序?)的主要内容,如果未能解决你的问题,请参考以下文章
Android Braintree SDK:PayPal 验证失败|2073:VALIDATION_ERROR|
PayPal Checkout 直接使用 Braintree SDK - Swift
使用 Braintree SDK 在 Android 中支付 PayPal
paypal-rest-sdk 仍然是一种有效的方法还是我们应该切换到braintree?