CanMakePaymentEvent

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 new PaymentRequest().

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

desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
CanMakePaymentEvent
Experimental
CanMakePaymentEvent() constructor
Experimental
methodData
DeprecatedNon-standard
modifiers
DeprecatedNon-standard
paymentRequestOrigin
DeprecatedNon-standard
respondWith
Experimental
topOrigin
DeprecatedNon-standard

See also