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() 以使用计算出的更新来更新事件。
规范
| 规范 |
|---|
| Payment Request API # dom-paymentmethodchangeevent-methoddetails |
浏览器兼容性
加载中…