我正在尝试将 Amazon Pay 集成到网上商店。登录按钮显示正确,但只要我使用沙盒帐户凭据登录以显示地址小部件,我就会在 Chrome 开发工具控制台中收到以下错误:[Amazon.error] 尝试重定向到http://myownvirtualhost.local/ shop.html? ... 但方案不是 HTTPS。 所以错误很明显,但我该如何解决这个问题?登录后重定向应该发生在 HTTPS url 上,但如前所述,我正在使用配置的虚拟主机在我的 localhost 上进行开发。我还使用正确的 (EU) 沙箱 Widget.js 文件并在我的 PHP 配置中将沙箱模式设置为 true。
我的代码:
OffAmazonPayments.Button('amazonPayButton', 'MERCHANT-ID', {
type: 'PwA',
language: 'de-DE',
authorization: function() {
loginOptions = {scope: 'profile postal_code payments:widget payments:shipping_address', popup: true };
authRequest = amazon.Login.authorize(loginOptions, 'http://myownvirtualhost.local/shop.html?action=cart');
},
onError: function (error) {
console.log('auth request: ' + error.getErrorCode() + ': ' + error.getErrorMessage());
}
});
我没有提供我的商家 ID,因为这是一个示例。所以我的重定向 url 有 HTTP 作为方案,这就是错误的原因。我很困惑,因为在阅读了亚马逊支付集成指南的注册章节后,我认为 SSL 与本地主机无关。从集成指南:
获取 SSL 证书。您的服务器需要具有由受信任的证书颁发机构颁发的有效 SSL 证书。注意:在“localhost”环境中工作时,不需要 SSL 证书。有关详细信息,请参阅 SSL 认证。
任何帮助表示赞赏。提前致谢!