| /* |
| * Copyright 2019 The Chromium Authors |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| let respond = null; |
| let requestEvent = null; |
| |
| self.addEventListener('canmakepayment', (evt) => { |
| evt.respondWith(true); |
| }); |
| |
| self.addEventListener('message', (evt) => { |
| const methodName = requestEvent.methodData[0].supportedMethods; |
| const shippingOption = (requestEvent.paymentOptions && |
| requestEvent.paymentOptions.requestShipping) ? |
| requestEvent.shippingOptions[0].id : |
| ''; |
| const payerName = (requestEvent.paymentOptions && |
| requestEvent.paymentOptions.requestPayerName) ? |
| 'John Smith' : |
| ''; |
| const payerEmail = (requestEvent.paymentOptions && |
| requestEvent.paymentOptions.requestPayerEmail) ? |
| '[email protected]' : |
| ''; |
| const payerPhone = (requestEvent.paymentOptions && |
| requestEvent.paymentOptions.requestPayerPhone) ? |
| '+15555555555' : |
| ''; |
| const shippingAddress = (requestEvent.paymentOptions && |
| requestEvent.paymentOptions.requestShipping) ? |
| { |
| addressLine: [ |
| '1875 Explorer St #1000', |
| ], |
| city: 'Reston', |
| country: 'US', |
| dependentLocality: '', |
| organization: 'Google', |
| phone: '+15555555555', |
| postalCode: '20190', |
| recipient: 'John Smith', |
| region: 'VA', |
| sortingCode: '', |
| } : |
| {}; |
| |
| respond({ |
| methodName, |
| details: {status: 'success'}, |
| payerName, |
| payerEmail, |
| payerPhone, |
| shippingAddress, |
| shippingOption, |
| }); |
| }); |
| |
| self.addEventListener('paymentrequest', (evt) => { |
| requestEvent = evt; |
| evt.respondWith(new Promise((responder) => { |
| respond = responder; |
| paymentHandlerWindow = evt.methodData[0]['data'] !== undefined && |
| evt.methodData[0]['data']['windowPage'] !== undefined ? |
| evt.methodData[0]['data']['windowPage'] : |
| 'payment_handler_window.html'; |
| evt.openWindow(paymentHandlerWindow); |
| })); |
| }); |