我使用基本的客户端集成(仅限JavaScript),几天前将PayPal集成到我们的结帐中心。一切都工作正常,直到昨天下午我开始从以下两个POSTS获取状态代码500错误(可能这些发生在checkout.js)
https://www.sandbox.paypal.com/webapps/hermes/api/checkout/EC-[REMOVED]/session/create
https://www.sandbox.paypal.com/webapps/hermes/api/batch/setbuyer
[REMOVED]是一个字母数字字符串。我不是100%确定这些网址中的敏感数据是什么,也不是敏感数据,所以我为了以防万一而对其进行了编辑。
单击我的paypal按钮时,将打开覆盖层以进行快速结账,并开始“安全登录”过程。但是登录似乎失败并显示此屏幕:
当我按下“登录”按钮时,窗口就会关闭。
我相信: 我认为这与PayPal的OneTouch有关。如果我清除我的登录帐户,它允许我手动输入凭据。付款然后工作,但它通过paypal网站的遗留外观版本,而不是我期待的小现代窗口。 之后,它会尝试自行登录,并发生上述错误。
据我所知,500个代码通常是他们的问题,但Paypal向我保证他们的沙箱环境目前没有问题,他们建议我打开技术支持票。 我已经这样做了,但是最后一次我用PayPal打开支持票,他们用了6个星期(字面意思,并不夸张)来回复。所以我希望也许有人可以帮助你更快一点。
关于为什么我可能会收到这些错误的任何其他建议都会非常适合。
作为参考,我在谷歌浏览器的控制台中看到了这些错误,我的JavaScript代码如下:
paypal.Button.render({
env: 'sandbox',
client: {
sandbox: '[REMOVED]',
production: '[REMOVED]',
},
payment: function() {
var env = this.props.env;
var client = this.props.client;
return paypal.rest.payment.create(env, client, {
transactions: [{
amount: {
total: '1',
currency: 'GBP'
}
}]
});
},
commit: true,
onAuthorize: function(data, actions) {
return actions.payment.execute();
},
},'#paypal-button');