Často kladené otázky
Je potrebné vždy pri založení platby vyplniť aj e-mail platiteľa?
Áno, vždy. Ak e-mail neuvediete, platobná brána si ho vyžiada sama — lenže Checkout SDK toto nevie urobiť za vás. Preto prosím zaistite, aby e-mail platiteľa bol súčasťou každej platby hneď od začiatku.
Možno Checkout SDK používať v iframe alebo WebView?
Nie, bohužiaľ. V týchto prostrediach sa platobné metódy správajú nepredvídateľne a nemôžeme zaručiť, že budú fungovať správne. SDK potrebuje bežať priamo na stránke.
Možno Checkout SDK používať v JavaScriptovej aplikácii renderovanej na serveri (SSR)?
Áno, to ide. Len si dajte pozor na jednu vec: všetok kód, ktorý pracuje s SDK (useCheckout() apod.), musí bežať v prehliadači, nie na serveri.
SDK totiž potrebuje window a document — a tie na serveri proste nie sú.
Ako testovať Apple Pay lokálne?
S Apple Pay je to trochu zložitejšie — Apple má prísne požiadavky a na localhoste to proste nejde.
Ale nebojte, máme pre vás riešenie: môžete si podvrhnúť doménu na checkout1.comgate.dev alebo checkout2.comgate.dev a testovať cez ňu. Návod nájdete v dokumentácii k vopred registrovanej vývojovej doméne.
Ako testovať Google Pay lokálne?
Tu je to jednoduché! Stačí pri konfigurácii nastaviť environment: 'test' a Google Pay sa prepne do testovacieho režimu — ponúkne vám testovacie karty, s ktorými si môžete platbu bezpečne vyskúšať.
Musím implementovať 3D Secure?
Nie, vôbec! O 3D Secure sa nemusíte starať — SDK to vyrieši kompletne samo. Postupne skúša najlepší spôsob zobrazenia (iframe → nové okno → presmerovanie) a vy nemusíte napísať ani riadok kódu navyše.
Čo je Click to Pay a musím ho konfigurovať?
Click to Pay je funkcia, ktorá zákazníkom ponúka uložené karty pre rýchlejšiu platbu. Je to automatická súčasť karetného formulára — nemusíte nič nastavovať, nič konfigurovať. Proste to funguje.
Možno volať useCheckout() viackrát?
Áno, ale s výhradou. Modul Core je singleton — pri ďalšom volaní useCheckout() sa nevytvára nová inštancia, ale iba sa aktualizujú callbacky (onPaid, onCancelled, …). Predtým odovzdané callbacky sa nahradia novými.
V SPA aplikáciách nezabudnite pred opustením stránky zavolať destroy() na moduloch Apple Pay, Google Pay a Card — viď Úklid inštancií.
Ako skryť tlačidlo platobnej metódy, ak nie je dostupná?
Skontrolujte výsledok useCheckout(). Ak modul vráti success: false, skryte príslušný kontajner:
useCheckout({ /* ... */ }).then((result) => {
if (result.applepay && !result.applepay.success) {
document.getElementById('cg-applepay-box').style.display = 'none';
}
});
Čo znamená callback onPending?
Znamená, že tento konkrétny pokus neprešiel (napríklad zákazník zadal zlý PIN), ale platba ako taká stále žije. Nemusíte zakladať novú — proste ponúknite zákazníkovi, aby to skúsil znovu. Stačí opätovné kliknutie na tlačidlo.
👉 Ďalšie otázky a odpovede budú postupne doplňované.