self.addEventListener('canmakepayment', (event) => { event.respondWith(true); }); async function responder(event) { const methodName = event.methodData[0].supportedMethods; if (!event.changePaymentMethod) { return { methodName, details: { changePaymentMethodReturned: 'The changePaymentMethod() method is not implemented.', }, }; } let changePaymentMethodReturned; try { const response = await event.changePaymentMethod(methodName, { country: 'US', }); changePaymentMethodReturned = response; } catch (err) { changePaymentMethodReturned = err.message; } return {methodName, details: {changePaymentMethodReturned}}; } self.addEventListener('paymentrequest', (event) => { event.respondWith(responder(event)); });