PaymentMethodChangeEvent: methodName 属性
PaymentMethodChangeEvent 接口的只读 methodName 属性是一个字符串,用于唯一标识用户当前选择的支付处理程序。支付处理程序可以是 Apple Pay 或 Android Pay 等支付技术,每个支付处理程序可能支持多种支付方式;支付处理程序内的支付方式更改由 PaymentMethodChangeEvent 描述。
值
一个字符串,用于唯一标识当前选择的支付处理程序。这可以是从标准化支付方式标识符列表中选择的字符串,也可以是支付服务使用的 URL。有关更多信息,请参阅 支付方式标识符。
默认值为空字符串 ""。
示例
此示例使用 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();
请注意,calculateDiscount() 函数正在使用 methodDetails 属性来计算任何支付折扣,然后调用 updateWith() 来更新带有计算出的更新的事件。
规范
| 规范 |
|---|
| Payment Request API # dom-paymentmethodchangeevent-methodname |
浏览器兼容性
加载中…