Implementace konkrétních funkcionalit
V následující sekci je popsána implementace konkrétních funkcionalit, které jsou dostupné v Checkout SDK.
Implementace Apple Pay
Nejvhodnějším způsobem, jak implementovat Apple Pay tlačítko je vytvoření funkce, která bude jako parametr přijímat referenci na instanci třídy CheckoutCore
a celá další logika se odehraje v této funkci.
V bloku then(...)
vytváření instance CheckoutCore dojde k volání této definované funkce: createApplePay(checkoutCore)
Ukázkový kód [Kód na GitHubu]
/**
* Create Apple Pay button
* @param {CheckoutCore} checkoutCore instance Comgate checkout core
*/
function createApplePay(checkoutCore) {
if (window.comgate.checkout.applepay !== undefined) {
window.comgate.checkout.applepay
.create(checkoutCore)
.then((applePay) => {
applePay
.canMakePayments()
.then((canMakePayments) => {
if (canMakePayments.result) {
const applePayMountPoint = document.querySelector('#apple-pay-mount-point');
return applePay.mount([applePayMountPoint]);
}
return Promise.reject(canMakePayments.reason);
})
.catch((err) => {
return Promise.reject('ApplePay not mounted: ' + err);
});
});
}
}
Implementace Google Pay
Velmi podobný způsob, jak nejvhodněji implementovat Google Pay tlačítko je taktéž vytvoření funkce, která bude jako parametr přijímat referenci na instanci třídy CheckoutCore
a celá další logika se odehraje v této funkci.
V bloku then(...)
vytváření instance CheckoutCore
dojde k volání této definované funkce: createGooglePay(checkoutCore)
Ukázkový kód [Kód na GitHubu]
/**
* Create Google Pay button
* @param {CheckoutCore} checkoutCore instance Comgate checkout core
*/
function createGooglePay(checkoutCore) {
if (window.comgate.checkout.googlepay !== undefined) {
window.comgate.checkout.googlepay
.create(checkoutCore)
.then((googlePay) => {
googlePay.canMakePayments().then((canMakePayments) => {
if (canMakePayments.result) {
const googlePayMountPoint = document.querySelector('#google-pay-mount-point');
return googlePay.mount([googlePayMountPoint]);
}
return Promise.reject(canMakePayments.reason);
});
})
.catch((err) => {
return Promise.reject('GooglePay not mounted: ' + err);
});
}
}