| self.addEventListener('canmakepayment', (event) => { |
| event.respondWith(true); |
| }); |
| |
| function responder(event) { |
| const methodName = event.methodData[0].supportedMethods; |
| const shippingOption = event.paymentOptions.requestShipping |
| ? event.shippingOptions[0].id |
| : ''; |
| const payerName = |
| event.paymentOptions.requestPayerName ? 'John Smith' : ''; |
| const payerEmail = |
| event.paymentOptions.requestPayerEmail ? 'smith@gmail.com' : ''; |
| const payerPhone = |
| event.paymentOptions.requestPayerPhone ? '+15555555555' : ''; |
| const shippingAddress = event.paymentOptions.requestShipping ? { |
| addressLine: [ |
| '1875 Explorer St #1000', |
| ], |
| city: 'Reston', |
| country: 'US', |
| dependentLocality: '', |
| organization: 'Google', |
| phone: '+15555555555', |
| postalCode: '20190', |
| recipient: 'John Smith', |
| region: 'VA', |
| sortingCode: '', |
| } : {}; |
| |
| return { |
| methodName, |
| details: { token: '123456789'}, |
| payerName, |
| payerEmail, |
| payerPhone, |
| shippingAddress, |
| shippingOption |
| }; |
| } |
| |
| self.addEventListener('paymentrequest', (event) => { |
| event.respondWith(responder(event)); |
| }); |