app-supports-shipping-contact-delegation.js (1196B)
1 self.addEventListener('canmakepayment', (event) => { 2 event.respondWith(true); 3 }); 4 5 function responder(event) { 6 const methodName = event.methodData[0].supportedMethods; 7 const shippingOption = event.paymentOptions.requestShipping 8 ? event.shippingOptions[0].id 9 : ''; 10 const payerName = 11 event.paymentOptions.requestPayerName ? 'John Smith' : ''; 12 const payerEmail = 13 event.paymentOptions.requestPayerEmail ? 'smith@gmail.com' : ''; 14 const payerPhone = 15 event.paymentOptions.requestPayerPhone ? '+15555555555' : ''; 16 const shippingAddress = event.paymentOptions.requestShipping ? { 17 addressLine: [ 18 '1875 Explorer St #1000', 19 ], 20 city: 'Reston', 21 country: 'US', 22 dependentLocality: '', 23 organization: 'Google', 24 phone: '+15555555555', 25 postalCode: '20190', 26 recipient: 'John Smith', 27 region: 'VA', 28 sortingCode: '', 29 } : {}; 30 31 return { 32 methodName, 33 details: { token: '123456789'}, 34 payerName, 35 payerEmail, 36 payerPhone, 37 shippingAddress, 38 shippingOption 39 }; 40 } 41 42 self.addEventListener('paymentrequest', (event) => { 43 event.respondWith(responder(event)); 44 });