ServiceWorkerGlobalScope: canmakepayment event
The canmakepayment
event of the ServiceWorkerGlobalScope
interface is 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()
.
Syntax
Use the event name in methods like addEventListener()
, or set an event handler property.
addEventListener("canmakepayment", (event) => {});
oncanmakepayment = (event) => {};
Event type
Examples
The canmakepayment
event is 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()
. The service worker can then use the CanMakePaymentEvent.respondWith()
method to respond appropriately:
self.addEventListener("canmakepayment", (e) => {
e.respondWith(
new Promise((resolve, reject) => {
someAppSpecificLogic()
.then((result) => {
resolve(result);
})
.catch((error) => {
reject(error);
});
}),
);
});
respondWith()
returns a Promise
that resolves with a boolean value to signal that the service worker is ready to handle a payment request (true
), or not (false
).
Specifications
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
canmakepayment_event |
70 |
79 |
No |
No |
57 |
No |
No |
70 |
No |
49 |
No |
10.0 |
See also