我正在尝试在运行于Android模拟器中的本地网站上测试Google的PaymentRequest API。但是,当我这样做

var paymentRequest = window.PaymentRequest(//some object here//);


我收到以下错误

"Error: Failed to construct 'PaymentRequest': Must be in a secure context


现在,PaymentRequest可以在localhost和https上运行,但是从uri为10.2.2.01:8000/myUrlHere的android仿真器上的端口运行它会失败,因为它不是localhost。关于如何解决这个问题的任何想法?

最佳答案

必须在安全上下文中使用PaymentRequest,该上下文是以下之一:


HTTPS。
本地主机。
磁盘上的本地文件。


http:// 10.2.2.01:8000不是安全的上下文,因此您不能在那里使用PaymentRequest。请尝试以下方法之一:


https://10.2.2.01:8000。 (SSL证书必须有效。这意味着URL栏中的锁定图标应为绿色。例如,您可以从https://letsencrypt.org/中获得一个。)
https:// localhost:8000。
文件:///sdcard/index.html

09-16 07:34