PaymentMethodChangeEvent:methodDetails 属性
PaymentMethodChangeEvent
接口的只读methodDetails
属性是一个对象,其中包含支付处理程序可能提供的任何数据,以描述用户对其支付方式所做的更改。如果不可用任何详细信息,则值为null
。
值
一个包含任何数据以描述对支付方式所做的更改的对象。内容根据所选的实际支付方式而有所不同,因此您需要先参考methodName
属性,然后解释methodDetails
。
默认值为null
,表示没有其他详细信息可用。
示例
此示例使用paymentmethodchange
事件来监视对 Apple Pay 所选支付方式的更改,以便在用户选择使用 Visa 卡作为其支付方式时计算折扣。
js
request.onpaymentmethodchange = (ev) => {
const { type: cardType } = ev.methodDetails;
const newStuff = {};
if (ev.methodName === "https://apple.com/apple-pay") {
switch (cardType) {
case "visa": {
// do Apple Pay specific handling for Visa card…
// methodDetails contains the card information
const discount = calculateDiscount(ev.methodDetails);
Object.assign(newStuff, discount);
break;
}
}
}
// finally…
ev.updateWith(newStuff);
};
const response = await request.show();
请注意,methodDetails
属性正在被calculateDiscount()
函数用于计算任何支付折扣,然后调用updateWith()
来使用计算出的更新来更新事件。
规范
规范 |
---|
支付请求 API # dom-paymentmethodchangeevent-methoddetails |
浏览器兼容性
BCD 表格仅在浏览器中加载