Časté otázky
Je nutné vždy při založení platby vyplnit i e-mail plátce?
Ano, vždy. Pokud e-mail neuvedete, platební brána si ho vyžádá sama — jenže Checkout SDK tohle neumí udělat za vás. Proto prosím zajistěte, aby e-mail plátce byl součástí každé platby hned od začátku.
Lze Checkout SDK používat v iframe nebo WebView?
Ne, bohužel. V těchto prostředích se platební metody chovají nepředvídatelně a nemůžeme zaručit, že budou fungovat správně. SDK potřebuje běžet přímo na stránce.
Lze Checkout SDK používat v JavaScriptové aplikaci renderované na serveru (SSR)?
Ano, to jde. Jen si dejte pozor na jednu věc: veškerý kód, který pracuje s SDK (useCheckout() apod.), musí běžet v prohlížeči, ne na serveru.
SDK totiž potřebuje window a document — a ty na serveru prostě nejsou.
Jak testovat Apple Pay lokálně?
S Apple Pay je to trochu složitější — Apple má přísné požadavky a na localhostu to prostě nejde.
Ale nebojte, máme pro vás řešení: můžete si podvrhnout doménu na checkout1.comgate.dev nebo checkout2.comgate.dev a testovat přes ni. Návod najdete v dokumentaci k předem registrované vývojové doméně.
Jak testovat Google Pay lokálně?
Tady je to jednoduché! Stačí při konfiguraci nastavit environment: 'test' a Google Pay se přepne do testovacího režimu — nabídne vám testovací karty, se kterými si můžete platbu bezpečně vyzkoušet.
Musím implementovat 3D Secure?
Ne, vůbec! O 3D Secure se nemusíte starat — SDK to vyřeší kompletně samo. Postupně zkouší nejlepší způsob zobrazení (iframe → nové okno → přesměrování) a vy nemusíte napsat ani řádek kódu navíc.
Co je Click to Pay a musím ho konfigurovat?
Click to Pay je funkce, která zákazníkům nabízí uložené karty pro rychlejší platbu. Je to automatická součást karetního formuláře — nemusíte nic nastavovat, nic konfigurovat. Prostě to funguje.
Lze volat useCheckout() vícekrát?
Ano, ale s výhradou. Modul Core je singleton — při dalším volání useCheckout() se nevytváří nová instance, ale pouze se aktualizují callbacky (onPaid, onCancelled, …). Dříve předané callbacky se nahradí novými.
V SPA aplikacích nezapomeňte před opuštěním stránky zavolat destroy() na modulech Apple Pay, Google Pay a Card — viz Úklid instancí.
Jak skrýt tlačítko platební metody, pokud není dostupná?
Zkontrolujte výsledek useCheckout(). Pokud modul vrátí success: false, skryjte příslušný kontejner:
useCheckout({ /* ... */ }).then((result) => {
if (result.applepay && !result.applepay.success) {
document.getElementById('cg-applepay-box').style.display = 'none';
}
});
Co znamená callback onPending?
Znamená, že tento konkrétní pokus neprošel (třeba zákazník zadal špatný PIN), ale platba jako taková stále žije. Nemusíte zakládat novou — prostě nabídněte zákazníkovi, ať to zkusí znovu. Stačí opětovné kliknutí na tlačítko.
👉 Další otázky a odpovědi budou postupně doplňovány.