我正在尝试与 PayPal 集成,但无法加载 sdk/js。
我从字面上将其削减回他们的示例代码,但在加载 SDK js 时仍然给出 HTTP 错误 400。 按照此处给出的步骤... https://developer.paypal.com/docs/subscriptions/integrate/#4-create-a-subscription
<!DOCTYPE html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
</head>
<body>
<script
src="https://www.paypal.com/sdk/js?client-id=AeRCvNJjX_wuV8I8KnIxllYZhizA7I3JZBzQJk4O2q8DoC1ORE9GZM1S1wJd2ch7XZWfsG3GHAYIUWhc&vault=true">
</script>
<div id="paypal-button-container"></div>
<script>
paypal.Buttons({
createSubscription: function(data, actions) {
return actions.subscription.create({
'plan_id': 'P-3S4679857D7841235LUOV5VY'
});
},
onApprove: function(data, actions) {
alert('You have successfully created subscription ' + data.subscriptionID);
}
}).render('#paypal-button-container');
</script>
</body>
</html>
SDK js 未加载。查看响应,我可以在 sdk/js 请求上看到 HTTP 错误 400,以及 paypal-debug-id 值。
我已经检查并重新检查我传递的客户端 ID 是否正确。
FWIW:我注意到在他们的一些其他按钮示例中,您可以使用“sb”代替您的客户端 ID。如果我只使用 client-id=sb,它会显示一个付款按钮,但如果我包含“&value=true”或使用我的实际 client-id,它会返回错误 404。
在这个问题上我苦苦思索几个小时后,我终于在 PayPal 论坛中偶然发现了答案。事实证明是 cookie 的某种问题。清除所有与 PayPal 相关的 cookie 似乎已经解决了问题。
将这个问题留在这里,以防它帮助其他人避免它给我带来的头痛!
我遇到了同样的错误。
就我而言,我不小心点击了一个链接,它打开并说:
抛出新错误(“SDK验证错误:'生产环境中不允许查询参数买方国家'”);
这浪费了我一个小时的时间,真是太搞笑了。希望错误可能出现在“网络”选项卡中。事实并非如此。我只是偶然发现的。