| 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)); |
| }); |