PaymentMethodChangeEvent:methodName 属性

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在某些或所有支持的浏览器中。

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()来使用计算出的更新来更新事件。

规范

规范
支付请求 API
# dom-paymentmethodchangeevent-methodname

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。