Přeskočit na hlavní obsah

Č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.

Poznámka

👉 Další otázky a odpovědi budou postupně doplňovány.