PaymentMethodChangeEvent:methodDetails 属性

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

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 表格仅在浏览器中加载