Secure context
This 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.


var methodName = paymentMethodChangeEvent.methodName;


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.


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 === "") {
    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);
  // finally...
const response = await;


Specification Status Comment
Payment Request API
The definition of 'PaymentMethodChangeEvent.methodName' in that specification.
Candidate Recommendation Initial definition.

Browser compatibility

No compatibility data found. Please contribute data for "api.PaymentMethodChangeEvent.methodName" (depth: 1) to the MDN compatibility data repository.

Document Tags and Contributors

Contributors to this page: marcoscaceres, Sheppy
Last updated by: marcoscaceres,