Payment Request API
Payment Request API 允许用户创建个人的付款方式以及选择偏好程度,并提供给网站及开发者使用
创建支付请求
调用 PaymentRequest() 构造方法创建一个 PaymentRequest 实例,代表实际的支付请求
方法需要传入一个对象数组参数,表示受网站支持的支付方式列表
该对象具有如下一些参数:
supportedMethods参数,接收一个字符串,表示支付方式的标识符,可以为一个指向支付平台的 URL 或一个标准化的支付方式标识符
data可选参数,接收一个可序列化的对象,表示支付方式的额外信息注意
supportedMethods参数的不同取值可能影响data参数的取值当
supportedMethods参数指定为secure-payment-confirmation时,data参数需要为一个 SecurePaymentConfirmationRequest 结构的对象
方法需要传入一个对象参数,表示当前支付请求的信息
该对象具有如下一些参数:
total参数,接收一个对象,表示支付请求的总条目该对象具有如下一些参数:
label参数,接收一个字符串,表示支付请求的条目名称
amount参数,接收一个数值,表示支付请求的条目价格
pending可选参数,接收一个布尔值,表示支付请求的条目名称;默认为 false
id可选参数,接收一个字符串,表示支付请求的 ID;若不指定浏览器将自动生成
displayItems可选参数,接收一个对象数组,表示支付请求的条目细节;默认为空数组;结构同total参数
modifiers可选参数,接收一个对象数组,表示支付请求针对特定支付方式的修改,如用于针对不同支付渠道调整支付总额该对象具有如下一些参数:
supportedMethods参数,接收一个字符串,表示支付方式的标识符,可以为一个指向支付平台的 URL 或一个标准化的支付方式标识符
total可选参数,接收一个对象,表示支付请求的总条目,结构同total可选参数
additionalDisplayItems可选参数,接收一个对象数组,表示额外的支付请求的总条目,结构同total可选参数
data可选参数,接收一个可序列化的对象,表示支付方式的额外信息
显示支付请求
调用 PaymentRequest 接口的 show() 方法显示已创建的支付请求
方法接收一个可选的对象参数,表示更新的支付请求参数,会覆盖原有的支付请求参数
该对象具有如下一些参数:
id可选参数displayItems可选参数与modifiers可选参数,同PaymentRequest构造函数的第二参数的相应参数
paymentMethodErrors可选参数
方法返回一个 Promise,其兑现一个 PaymentResponse 实例,表示支付请求的结果
取消支付请求
调用 PaymentRequest 接口的 abort() 方法提前终止支付请求,同时移除任何由其产生的界面
方法返回一个 Promise
支付请求可用性
调用 PaymentRequest 接口的 canMakePayment() 方法检测给定的支付请求是否受用户代理支持
方法返回一个 Promise,其兑现一个布尔值,表示给定支付请求能否正常完成
可以在调用 show() 方法前预先调用 canMakePayment() 方法,以检测对应方支付请求能否正常进行;或尽早使用类似参数新建实例,调用该实例的 canMakePayment() 方法检测是否受支持,再在必要时候新建另一个实例执行真正的支付请求
支付请求信息
可以通过 PaymentRequest 接口的 id 只读属性返回一个字符串,反映当前支付请求的 ID,由构造时传入的 id 参数决定
可以监听 PaymentRequest 接口的 paymentmethodchange 事件监听因为用户在界面中更改支付方式产生的变化,返回一个 PaymentMethodChangeEvent 事件
PaymentMethodChangeEvent事件继承自PaymentRequestUpdateEvent事件其
methodDetails只读属性,返回一个对象或null,表示当前支付请求细节其
methodName只读属性,返回一个字符串,表示当前的支付请求方式
PaymentRequestUpdateEvent事件继承自Event事件其
updateWith()方法,接收一个对象参数或一个兑现一个对象的Promise,表示更新的支付请求参数;结构同show()方法的参数
支付结果操作
PaymentResponse 接口的 complete() 方法通知用户代理支付请求已经完成
方法传入一个字符串可选参数,值为 fail success unknown 之一,表示支付请求的结果;默认为 unknown
方法传入一个对象可选参数,其 data 参数接收一个对象,表示额外的支付请求信息
方法返回一个 Promise
PaymentResponse 接口的 retry() 方法请求用户重新发起支付请求
方法传入一个对象可选参数,其 error 参数接收一个字符串,表示错误信息;其 paymentMethod 参数接收一个字符串,表示支付请求方法
方法返回一个 Promise
支付结果信息
PaymentResponse 接口表示支付结果
其 requestId 只读属性返回一个字符串,反映当前支付结果对应的支付请求的 ID,由构造时传入的 id 参数决定
其 methodName 只读属性返回一个字符串,反映当前支付结果方式
其 details 只读属性返回一个对象或 null,反映当前支付结果细节,通常由支付平台返回
其 toJSON() 方法返回一个序列化的对象,表示当前的支付结果
类型
1 | PaymentRequest |
链接
Payment Request API
https://skyclouds2001.github.io/2023/12/25/Payment-Request-API/

