javascript - 在 Android 模拟器中运行的本地站点上使用谷歌的 PaymentRequest

标签 javascript android payment-request-api secure-context

我正在尝试在我的 android 模拟器中运行的本地网站上测试 Google 的 PaymentRequest api。然而,当我这样做的时候

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

出现以下错误

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

现在,PaymentRequest 确实在本地主机和 https 上运行,但是从 android 模拟器上的端口运行它,其中 uri 是 10.2.2.01:8000/myUrlHere 将失败,因为它不是本地主机。关于如何解决这个问题的任何想法?

最佳答案

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

  1. HTTPS。
  2. 本地主机。
  3. 磁盘上的本地文件。

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

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

关于javascript - 在 Android 模拟器中运行的本地站点上使用谷歌的 PaymentRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44372632/

相关文章:

javascript - 如何在刷新容器 div 后应用 jQuery 数据表?

javascript - ASP.NET MVC 5 网站中的 CSS 和 Javascript 以及图像在部署后不会显示

android - 当应用程序在 FCM PushNotification 中处于后台时,不会调用 onMessageReceived 方法

android - tls 在 android 中使用 session 票证

javascript - Google Pay(通过付款请求 API)- canMakePayment() 无法解析

javascript - 无法从 JSON 获取 URL,当我尝试时它显示未定义。有什么建议吗?

javascript - 节点红色变量赋值

从凭据切换到设备存储时出现 Android 直接启动问题

Firefox - 引用错误 : PaymentRequest is not defined

web - Google Pay API 与 Payment Request API 有什么区别?