Authentication 尝试登录localhost时出现Amazon Pay沙箱错误-“;方案非HTTPS“;

Authentication 尝试登录localhost时出现Amazon Pay沙箱错误-“;方案非HTTPS“;,authentication,ssl,localhost,amazon-pay,Authentication,Ssl,Localhost,Amazon Pay,我正在尝试整合亚马逊支付网站商店。登录按钮显示正确,但当我使用沙盒帐户凭据登录以显示地址小部件时,我在Chrome开发工具控制台中收到以下错误:[Amazon.error]尝试重定向到。但方案不是HTTPS。 因此,错误是显而易见的,但我如何解决这个问题?登录后,重定向应该发生在HTTPS url上,但如前所述,我正在使用已配置的虚拟主机在本地主机上开发。我还使用了正确的(EU)sandbox Widget.js文件,并在我的PHP配置中将sandbox mode设置为true 我的代码: Of

我正在尝试整合亚马逊支付网站商店。登录按钮显示正确,但当我使用沙盒帐户凭据登录以显示地址小部件时,我在Chrome开发工具控制台中收到以下错误:[Amazon.error]尝试重定向到。但方案不是HTTPS。 因此,错误是显而易见的,但我如何解决这个问题?登录后,重定向应该发生在HTTPS url上,但如前所述,我正在使用已配置的虚拟主机在本地主机上开发。我还使用了正确的(EU)sandbox Widget.js文件,并在我的PHP配置中将sandbox mode设置为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作为方案,这就是错误的原因。我感到困惑,因为在阅读了Amazon Pay Integration guide的注册章节后,我认为SSL与localhost无关。 从集成指南:

获取SSL证书。您的服务器需要具有由受信任的证书颁发机构颁发的有效SSL证书注意:在“本地主机”环境中工作时,不需要SSL证书。有关更多信息,请参阅SSL证书

感谢您的帮助。提前谢谢

我想“localhost”应该是默认值”http://localhost“域名

如果您想继续使用虚拟主机,有两种选择:

  • 为其安装本地SSL证书(internet上有很多关于此的指南)
  • 将返回URL设置为“https://myownvirtualhost.local“即使没有安装证书。您的浏览器将显示一个错误。将地址修改为“http://”就可以了。这不是很优雅,但对于开发目的来说应该足够好了

  • 非常感谢。我在我的apache Web服务器上安装了一个本地SSL证书,经过一些配置后,它工作了!嗨@omegon