Web/API/PaymentMethodChangeEvent/methodDetails

From Get docs

Secure contextThis feature is available only in secure contexts (HTTPS), in some or all supporting browsers.


The read-only methodDetails property of the PaymentMethodChangeEvent interface is an object containing any data the payment handler may provide to describe the change the user has made to their payment method. The value is null if no details are available.

Syntax

details = paymentMethodChangeEvent.methodName;

Value

An object containing any data needed to describe the changes made to the payment method. The contents vary depending on the actual payment method chosen, so you will need to refer to the methodName property first, then inerpret the methodDetails after that.

The default value is null, indicating that no additional details are available.

Example

This example uses the paymentmethodchange event to watch for changes to the payment method selected for Apple Pay, in order to compute a discount if the user chooses to use a Visa card as their payment method.

request.onpaymentmethodchange = function(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 result = calculateDiscount(ev.methodDetails);
        Object.assign(newStuff, result);
        break;
    }
  }
  // finally...
  ev.updateWith(newStuff);
};
const response = await request.show();

Note that the methodDetails property is being used by the calculateDiscount() function to compute any payment discount, then updateWith() is called to update the event with the computed update.

Specifications

Specification Status Comment
Payment Request APIThe definition of 'PaymentMethodChangeEvent.methodDetails' in that specification. Candidate Recommendation Initial definition.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
methodDetails Chrome

Full support 76

Edge

Full support 79

Firefox

No support No

IE

No support No

Opera

Full support 63

Safari

Full support 12.1

WebView Android

No support No

Chrome Android

Full support 76

Firefox Android

No support No

Opera Android

Full support 54

Safari iOS

Full support 12.2

Samsung Internet Android

Full support Yes

Legend

Full support  
Full support
No support  
No support