Web/API/PaymentMethodChangeEvent/methodName

From Get docs

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


The read-only methodName property of the PaymentMethodChangeEvent interface is a string which uniquely identifies the payment handler currently selected by the user. The payment handler may be a payment technology, such as Apple Pay or Android Pay, and each payment handler may support multiple payment methods; changes to the payment method within the payment handler are described by the PaymentMethodChangeEvent.

Syntax

var methodName = paymentMethodChangeEvent.methodName;

Value

A DOMString which uniquely identifies the currently-selected payment handler. This may be a string chosen from the list of standardized payment method identifiers, or a URL used by the payment processing service. See Payment method identifiers in Payment Request API for more information.

The default value is the empty string, "".

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();

Specifications

Specification Status Comment
Payment Request APIThe definition of 'PaymentMethodChangeEvent.methodName' 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
methodName 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