Payment Handler API
允许付款服务机构针对
以及 Payment Request API。Payment Request API 通过
new PaymentRequest()
构造函数,它会以静默方式触发 canmakepayment
事件,并且
商家来源和任意数据
为 Payment Handler API 注册的 Service Worker。
这种跨源通信不需要用户手势,也无需
显示任何界面
Chrome 即将从 canmakepayment
事件中移除标识字段
并从 Chrome 108 开始源试用。
此页面上的信息仅适用于满足以下条件的付款应用提供商: Payment Handler API。如果您不使用它,则可以跳过这些说明。
有何变化?
当商家调用 new PaymentRequest()
时,一个已注册的 Service Worker
收到 canmakepayment
事件
(CanMakePaymentEvent
)
包含以下信息:
topOrigin
paymentRequestOrigin
methodData
modifiers
这些将被删除,Service Worker 只会收到
canmakepayment
事件,没有任何额外信息。
功能检测
检测 Service Worker 中的 canmakepayment
事件是否发生了更改
代码,请检查各个属性,如下所示:
self.addEventListener(e => {
if (e.paymentRequestOrigin) {...}
if (e.topOrigin) {...}
if (e.methodData && e.methodData.length > 0) {...}
if (e.modifiers && e.modifiers.length > 0) {...}
...
});
在本地试用更改
如需在本地启用更改以用于开发目的,请执行以下操作:
- 使用 Chrome 108、109 或 110。
- 在网址栏中输入
chrome://flags/#clear-identity-in-can-make-payment
。 - 启用该标志。
- 重新启动 Chrome。
启用该标志后,canmakepayment
事件中的身份字段将
(以及
Android IS_READY_TO_PAY
Intent)。
在生产环境中启用更改
您也可以在生产环境中启用更改,以便在更改生效之前进行测试 都位于 Chrome 中这种机制称为源试用。
通过源试用,您可以试用新功能并提供反馈 Web 标准社区的易用性、实用性和有效性。对于 如需了解详情,请参阅面向 Web 开发者的源试用指南。 如需报名参加此次或另一项源试用,请访问注册页面。
如需注册源试用,请按以下步骤操作:
- 请求令牌 。
- 使用
Origin-Trial
将令牌添加到 Service Worker JavaScript 文件 HTTP 标头。设置 HTTP 标头需要访问配置您的服务器。 生成的响应标头应如下所示:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...
如需在 Service Worker 文件中查看源试用令牌,请执行以下操作:
使用开发者工具
或如下所示的 curl
命令:
$ curl --head <Service Worker JS file URL> | grep -i origin-trial
origin-trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...
在 Chrome 111 发布后,在本地重新启用身份字段
如果您使用的是 Chrome 111 或更高版本,
canmakepayment
事件留空。要重新启用
您可以执行以下操作:
- 使用 Chrome 111 或更高版本。
- 在网址栏中输入
chrome://flags/#add-identity-in-can-make-payment
。 - 启用该标志。
- 重新启动 Chrome。
后续步骤
按照我们的计划,Chrome 111 会默认启用这项变更。您可以立即开始测试,以便做好准备 。