CanMakePaymentEvent

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Note: This feature is only available in Service Workers.

The CanMakePaymentEvent interface of the Payment Handler API is the event object for the canmakepayment event, fired on a payment app's service worker to check whether it is ready to handle a payment. Specifically, it is fired when the merchant website calls the PaymentRequest() constructor.

Event ExtendableEvent CanMakePaymentEvent

Constructor

CanMakePaymentEvent() Experimental

Creates a new CanMakePaymentEvent object instance.

Instance methods

respondWith() Experimental

Enables the service worker to respond appropriately to signal whether it is ready to handle payments.

Examples

js
self.addEventListener("canmakepayment", (e) => {
  e.respondWith(
    new Promise((resolve, reject) => {
      someAppSpecificLogic()
        .then((result) => {
          resolve(result);
        })
        .catch((error) => {
          reject(error);
        });
    }),
  );
});

Specifications

Specification
Payment Handler API
# the-canmakepaymentevent

Browser compatibility

BCD tables only load in the browser

See also