PaymentRequest - 处理终端用户的付款

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

PaymentRequest付款请求 API 的主要访问接口,允许 Web 内容和应用程序,代表站点运营商或应用程序发布者,处理终端用户的付款。

构造函数

PaymentRequest() 安全上下文

创建一个新的 PaymentRequest 对象。

属性

PaymentRequest.id 只读 安全上下文

特定 PaymentRequest 的唯一标识符,可以通过 details.id 设置。如果未设置,则默认为一个 UUID。

PaymentRequest.shippingAddress 只读 安全上下文

如果通过支付选项请求,则返回用户为计算运费而选择的送货地址。仅当将 requestShipping 标志设置为 true 调用构造函数时,此属性才有值。另外,在某些浏览器中,地址的一部分将被删除以保护隐私,直到用户表明他们准备好完成交易(即,他们点击 “付款”)为止。

PaymentRequest.shippingOption 只读 安全上下文

返回所选运输选项的标识符。只有在调用构造函数时时将 requestShipping 标志设置为 true 时,才会填充此属性。

PaymentRequest.shippingType 只读 安全上下文

返回用于完成交易的运输类型。如果构造函数中未提供该值,则将是 shippingdeliverypickupnull 之一。

方法

PaymentRequest.canMakePayment() 安全上下文

指示 PaymentRequest 对象是否可以在调用 show() 之前进行付款。

PaymentRequest.show() 安全上下文

使用户代理开始与付款请求进行用户交互。

PaymentRequest.abort() 安全上下文

使用户代理终止付款请求并删除可能显示的任何用户界面。

事件

merchantvalidation 安全上下文

对于某些付款处理程序(例如 Apple Pay),将调用此事件处理程序来处理 merchantvalidation 事件,当用户代理要求商家验证请求付款的商家或供应商是否合法时,就会触发此事件。也可以使用 onmerchantvalidation 事件处理程序属性来监听。

paymentmethodchange 安全上下文

使用某些付款处理程序(例如 Apple Pay),每当用户更改付款方式(例如从信用卡转换为借记卡)时都会触发。也可以使用 onpaymentmethodchange 事件处理程序属性来监听。

shippingaddresschange 安全上下文

用户更改送货地址时触发。也可以使用 onshippingaddresschange 事件处理程序属性来监听。

shippingoptionchange 安全上下文

用户更改运输选项时触发。也可以使用 onshippingoptionchange 事件处理程序属性来监听。

规范

规范 状态 备注
Payment Request API
PaymentRequest 的定义
候选推荐 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持61 支持551 不支持 不支持11.1
PaymentRequest() 构造函数61 支持551 不支持 不支持11.1
abort()6115551 不支持 不支持11.1
canMakePayment()6116551 不支持 不支持11.1
id6116551 不支持 不支持11.1
merchantvalidation 事件 未知 未知641 不支持 不支持 未知
onmerchantvalidation 未知 未知641 不支持 不支持 未知
onpaymentmethodchange 不支持 未知631 不支持 不支持 未知
onshippingaddresschange6115551 不支持 不支持11.1
onshippingoptionchange6115551 不支持 不支持11.1
paymentAddress61155512 不支持 不支持 未知
paymentmethodchange 事件 不支持 未知631 不支持 不支持 未知
requestId 不支持 支持551 不支持 不支持 未知
shippingaddresschange 事件6115551 不支持 不支持11.1
shippingOption6115551 不支持 不支持11.1
shippingoptionchange 事件6115551 不支持 不支持11.1
shippingType6115551 不支持 不支持11.1
show6115551 不支持 不支持11.1

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 不支持53 未知551 未知 不支持11.3
PaymentRequest() 构造函数 不支持53 未知551 未知 不支持11.3
abort() 不支持53 未知551 未知 不支持11.3
canMakePayment() 不支持53 未知551 未知 不支持11.3
id 不支持60 未知551 未知 不支持11.3
merchantvalidation 事件 不支持 未知 未知641 未知 不支持 未知
onmerchantvalidation 不支持 未知 未知641 未知 不支持 未知
onpaymentmethodchange 不支持 不支持 未知631 未知 不支持 未知
onshippingaddresschange 不支持53 未知551 未知 不支持11.3
onshippingoptionchange 不支持53 未知551 未知 不支持11.3
paymentAddress 不支持53 未知5512 未知 不支持 未知
paymentmethodchange 事件 不支持 不支持 未知631 未知 不支持 未知
requestId 不支持 不支持 未知551 未知 不支持 未知
shippingaddresschange 事件 不支持53 未知551 未知 不支持11.3
shippingOption 不支持53 未知551 未知 不支持11.3
shippingoptionchange 事件 不支持53 未知551 未知 不支持11.3
shippingType 不支持55 未知551 未知 不支持11.3
show 不支持53 未知551 未知 不支持11.3

1. 仅在每晚构建版本中可用。

2. 通过 shippingAddress 支持。