Payment Request API - 为商家和用户提供一致的支付用户体验

安全上下文
该功能仅在部分或所有支持的浏览器中的安全上下文(HTTPS)中可用。

Payment Request API 为商家和用户提供一致的用户体验。这不是一种新的支付方式;相反,它是用户选择他们喜欢的支付方式并将该信息提供给商家的一种方式。

付款请求概念和用法

许多与放弃在线购物车相关的问题都可以追溯到结账表格,这些表格填写起来既困难又耗时,而且通常需要多个步骤才能完成。Payment Request API 旨在减少完成在线支付所需的步骤数量,可能会不用到结账表单。它旨在通过让支付应用程序存储用户的详细信息,然后将这些详细信息传递给商家,从而使结账过程更容易,最好是不需要填写 HTML 表单。

为了请求付款,网页创建一个 PaymentRequest 对象以响应发起付款的用户操作,例如单击 “购买” 按钮。PaymentRequest 允许网页与用户代理交换信息,同时用户提供输入以完成交易。

您可以在 使用付款请求 API 中找到完整指南。

注意: API 在跨域 <iframe> 元素中可用,前提是它们设置了 allowpaymentrequest 属性.

接口

PaymentAddress

一个包含地址信息的对象;例如,用于帐单和送货地址。

PaymentRequest

提供用于创建和管理用户代理的支付接口的 API 的对象。

PaymentRequestEvent

在进行 PaymentRequest 时传递给付款处理程序的事件。

PaymentRequestUpdateEvent

使网页能够更新付款请求的详细信息以响应用户操作。

PaymentMethodChangeEvent

表示用户更改支付方式(例如,从一种支付方式切换到另一种)的事件。

PaymentResponse

用户选择支付方式并批准支付请求后返回的对象。

MerchantValidationEvent

表示浏览器要求商家(网站)验证自己是否允许使用特定的支付处理程序(例如,注册为允许使用 Apple Pay)。

字典

AddressErrors

一个包含字符串的字典,提供对 PaymentAddress 错误条目的描述性解释。

PaymentDetailsUpdate

一个对象,描述在服务器需要在支付接口实例化之后,但在用户开始与其交互之前更新信息的情况下,需要对支付细节进行更改的信息。

规范

规范
Payment Request API
Payment Method Identifiers

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持6015 不支持1 不支持4711.1

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 不支持53 未知 不支持1 未知4411.3

1. 仅在每晚构建版本中可用。需要 dom.payments.request.enabled 设置为 true,并在逗号分隔列表 dom.payments.request.supportedRegions 中包含一个或多个支持 2 个字符的语言环境的 ISO,目前包含 US 和 CA。

相关链接