44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
self.addEventListener('canmakepayment', (event) => {
|
|
event.respondWith(true);
|
|
});
|
|
|
|
async function responder(event) {
|
|
const methodName = event.methodData[0].supportedMethods;
|
|
const shippingOption = event.shippingOptions[0].id;
|
|
const shippingAddress = {
|
|
addressLine: [
|
|
'1875 Explorer St #1000',
|
|
],
|
|
city: 'Reston',
|
|
country: 'US',
|
|
dependentLocality: '',
|
|
organization: 'Google',
|
|
phone: '+15555555555',
|
|
postalCode: '20190',
|
|
recipient: 'John Smith',
|
|
region: 'VA',
|
|
sortingCode: '',
|
|
};
|
|
if (!event.changeShippingAddress) {
|
|
return {
|
|
methodName,
|
|
details: {
|
|
changeShippingAddressReturned:
|
|
'The changeShippingAddress() method is not implemented.',
|
|
},
|
|
};
|
|
}
|
|
let changeShippingAddressReturned;
|
|
try {
|
|
const response = await event.changeShippingAddress(shippingAddress);
|
|
changeShippingAddressReturned = response;
|
|
} catch (err) {
|
|
changeShippingAddressReturned = err.message;
|
|
}
|
|
return {methodName, details: {changeShippingAddressReturned}, shippingAddress,
|
|
shippingOption};
|
|
}
|
|
|
|
self.addEventListener('paymentrequest', (event) => {
|
|
event.respondWith(responder(event));
|
|
});
|