app-change-shipping-address.js (1188B)
1 self.addEventListener('canmakepayment', (event) => { 2 event.respondWith(true); 3 }); 4 5 async function responder(event) { 6 const methodName = event.methodData[0].supportedMethods; 7 const shippingOption = event.shippingOptions[0].id; 8 const shippingAddress = { 9 addressLine: [ 10 '1875 Explorer St #1000', 11 ], 12 city: 'Reston', 13 country: 'US', 14 dependentLocality: '', 15 organization: 'Google', 16 phone: '+15555555555', 17 postalCode: '20190', 18 recipient: 'John Smith', 19 region: 'VA', 20 sortingCode: '', 21 }; 22 if (!event.changeShippingAddress) { 23 return { 24 methodName, 25 details: { 26 changeShippingAddressReturned: 27 'The changeShippingAddress() method is not implemented.', 28 }, 29 }; 30 } 31 let changeShippingAddressReturned; 32 try { 33 const response = await event.changeShippingAddress(shippingAddress); 34 changeShippingAddressReturned = response; 35 } catch (err) { 36 changeShippingAddressReturned = err.message; 37 } 38 return {methodName, details: {changeShippingAddressReturned}, shippingAddress, 39 shippingOption}; 40 } 41 42 self.addEventListener('paymentrequest', (event) => { 43 event.respondWith(responder(event)); 44 });