PaymentRequest - 处理终端用户的付款
PaymentRequest
是付款请求 API 的主要访问接口,允许 Web 内容和应用程序,代表站点运营商或应用程序发布者,处理终端用户的付款。
构造函数
PaymentRequest()
安全上下文
创建一个新的 PaymentRequest
对象。
属性
PaymentRequest.id
只读 安全上下文
特定 PaymentRequest
的唯一标识符,可以通过 details.id
设置。如果未设置,则默认为一个 UUID。
PaymentRequest.shippingAddress
只读 安全上下文
如果通过支付选项请求,则返回用户为计算运费而选择的送货地址。仅当将 requestShipping
标志设置为 true
调用构造函数时,此属性才有值。另外,在某些浏览器中,地址的一部分将被删除以保护隐私,直到用户表明他们准备好完成交易(即,他们点击 “付款”)为止。
PaymentRequest.shippingOption
只读 安全上下文
返回所选运输选项的标识符。只有在调用构造函数时时将 requestShipping
标志设置为 true
时,才会填充此属性。
PaymentRequest.shippingType
只读 安全上下文
返回用于完成交易的运输类型。如果构造函数中未提供该值,则将是 shipping
,delivery
,pickup
或 null
之一。
方法
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 的定义 |
候选推荐 | 初始定义。 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 61 | 支持 | 551 | 不支持 | 不支持 | 11.1 |
PaymentRequest() 构造函数 | 61 | 支持 | 551 | 不支持 | 不支持 | 11.1 |
abort() | 61 | 15 | 551 | 不支持 | 不支持 | 11.1 |
canMakePayment() | 61 | 16 | 551 | 不支持 | 不支持 | 11.1 |
id | 61 | 16 | 551 | 不支持 | 不支持 | 11.1 |
merchantvalidation 事件 | 未知 | 未知 | 641 | 不支持 | 不支持 | 未知 |
onmerchantvalidation | 未知 | 未知 | 641 | 不支持 | 不支持 | 未知 |
onpaymentmethodchange | 不支持 | 未知 | 631 | 不支持 | 不支持 | 未知 |
onshippingaddresschange | 61 | 15 | 551 | 不支持 | 不支持 | 11.1 |
onshippingoptionchange | 61 | 15 | 551 | 不支持 | 不支持 | 11.1 |
paymentAddress | 61 | 15 | 5512 | 不支持 | 不支持 | 未知 |
paymentmethodchange 事件 | 不支持 | 未知 | 631 | 不支持 | 不支持 | 未知 |
requestId | 不支持 | 支持 | 551 | 不支持 | 不支持 | 未知 |
shippingaddresschange 事件 | 61 | 15 | 551 | 不支持 | 不支持 | 11.1 |
shippingOption | 61 | 15 | 551 | 不支持 | 不支持 | 11.1 |
shippingoptionchange 事件 | 61 | 15 | 551 | 不支持 | 不支持 | 11.1 |
shippingType | 61 | 15 | 551 | 不支持 | 不支持 | 11.1 |
show | 61 | 15 | 551 | 不支持 | 不支持 | 11.1 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS 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
支持。