PayPal 结帐与 JS SDK 按钮的集成 - “无效的 sdk 元”问题

Posted

技术标签:

【中文标题】PayPal 结帐与 JS SDK 按钮的集成 - “无效的 sdk 元”问题【英文标题】:PayPal checkout integration with JS SDK Buttons - Problem with "Invalid sdk meta" 【发布时间】:2020-03-10 13:49:39 【问题描述】:

我正在尝试在我的前端将 PayPal 按钮与 PayPal SDK 集成。 SDK 是从

加载的
//www.paypal.com/sdk/js?client-id=<My-SandBox-Client-Id>

脚本加载正确,当我在页面中渲染按钮时,它看起来也不错。但是有3个问题:

    加载动画点仍然挂在按钮底部: 在开发人员工具中,我可以看到损坏的请求 (400),上面写着:
Invalid sdk meta: eyJ1cmwiOiIvL3d3dy5wYXlwYWwuY29tL3Nkay9qcz9jbGllbnQtaWQ9QWYtd0RUQlhVSjBFVE9hWWl6eXFVNDdPbVdxc0tvYmNpOVM1RzQya2FfR1RBeTZSR1pZNU1MUVBEdkw4VWJ0amx4QlJxdXMzWFBPNGUxWGEiLCJzdGFnZUhvc3QiOm51bGwsImFwaVN0YWdlSG9zdCI6bnVsbH0

请求将发送到:

https://www.sandbox.paypal.com/smart/buttons?private data
    单击任何按钮时,只有旋转动画,而不会加载任何进一步的数据。未提供错误消息。

我遵循了这些集成指南:https://developer.paypal.com/docs/checkout/integrate/#2-add-the-paypal-script-to-your-web-page

我还在 PayPal 社区页面上发现了同样的问题,但没有任何答案: https://www.paypal-community.com/t5/Merchant-services-Archive/Invalid-sdk-meta/m-p/1831011

我想知道为什么 PayPal 不能帮助集成到自己的社区页面上,希望这里有人可以帮助我找出可能出了什么问题。

【问题讨论】:

【参考方案1】:

找到解决方案:确保包含来自https:// 的脚本。否则,通过从http:// 加载,脚本会重定向到https://,并且会在上述错误中运行。所以脚本的正确链接是:

https://www.paypal.com/sdk/js?client-id=<My-SandBox-Client-Id>

希望它可以帮助面临同样问题的人。

【讨论】:

是的,就是这样!非常感谢!

以上是关于PayPal 结帐与 JS SDK 按钮的集成 - “无效的 sdk 元”问题的主要内容,如果未能解决你的问题,请参考以下文章

带有反应 SDK 的 PayPal 结帐(v2)

JavaScript 和 PayPal 结帐按钮问题

Paypal 快速结帐剩余销售税

Paypal 快速结帐按钮

将 PayPal 结帐按钮的样式更改为 Angular.js 组件?

在不使用 PayPal 按钮的情况下将 PayPal .NET SDK 集成到网站中