44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
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));
|
|
});
|