Integrační checklist slouží vývojářům a integrátorům jako průvodce, který zajišťuje, že implementace služby Comgate Checkout je technicky správná, bezpečná a připravená k produkčnímu nasazení.
Zaškrtnuté body jsou ukládány do lokální paměti prohlížeče a jejich stav zůstává zachován i po obnovení stránky.
Legenda
Položky označené symbolem:
Symbol Popis 🔜 Úkol, který nelze provést v chronologickém sledu, avšak musí být dokončen před nasazením do produkce. ⚠️ Položka, jejíž úplné a správné splnění je nezbytné k zamezení chybného nebo neočekávaného chování SDK. ❔ Položka nebo sekce, která je volitelná.
Ostatní položky jsou povinné a musí být plněny v chronologickém sledu.
1. Požadavky
[Odkaz na sekci ]
Obecné požadavky
️Účet musí být v Comgate aktivní.
Musí být aktivována karetní metoda CARD_CZ_COMGATE
nebo CARD_CZ_CSOB_2
.
Obchod musí být registrován v Comgate se správnou doménou / subdoménou.
🔜 HTTPS musí být dostupné na produkční doméně.
🔜 Musí být zajištěn přístup, nebo možnost zřídit přístup, do Google Pay Console .
⚠️ Musí být k dispozici zkušený frontendový vývojář.
Technické požadavky
Použití Iframe pro Checkout SDK není povoleno.
Použití WebView pro Checkout SDK není povoleno.
Pokud je používáno CSP, musí být konfigurace nastavena správně.
Musí být umožněno nahrávání souborů do libovolného umístění ve webové aplikaci (např. /.well-known/...
).
Požadavky platby
⚠️ E-mail plátce musí být vždy k dispozici a použit při založení platby.
❔ Testovací prostředí a zařízení
🔜 Musí být k dispozici zařízení s Androidem pro testování.
🔜 Musí být k dispozici iPhone nebo iPad pro testování.
2. Konfigurace
[Odkaz na sekci ]
Aktivace Checkout SDK
❔ Pro testování a vývoj Checkout SDK by mělo být v portálu Comgate založeno nové propojení obchodu.
❔ Pro produkční provoz Checkout SDK by mělo být v portálu Comgate založeno nové propojení obchodu.
Na nových propojeních musí být aktivovány všechny plánované služby (Apple Pay, Google Pay).
Získání checkoutId
⚠️ Bylo pochopeno, jak získat hodnotu checkoutId
.
Ověření domény pro Apple Pay
Pouze pokud je implementováno Apple Pay.
🔜 Na doménu byl nahrán soubor /.well-known/apple-developer-merchantid-domain-association
.
🔜 Obsah souboru musí odpovídat hodnotě získané z endpointu /v2.0/appleDomainAssociation
.
️🔜 Soubor musí být v kódování ASCII
nebo UTF-8
.
️🔜 Obsah souboru nesmí končit prázdným řádkem.
🔜❔ Musí být implementováno automatické obnovování obsahu souboru.
️🔜 Doména i všechny subdomény, na kterých je Checkout provozován, musí být ověřeny v klientském portálu Comgate.
Ověření domény pro Google Pay
Pouze pokud je implementováno Google Pay.
🔜 Google Pay musí být implementováno pro získání screenshotů k ověření.
🔜 Musí být ověřena doména i subdomény, na kterých bude Checkout provozován.
️🔜 Doména i subdomény musí být schváleny v Google Pay Console.
Příprava vývojového prostředí
❔ Na lokálním projektu musí fungovat HTTPS.
❔ K projektu musí být možné namapovat specifickou doménu.
❔ V souboru hosts
musí být přepsána doména https://checkout1.comgate.dev
nebo https://checkout2.comgate.dev
.
❔ Vývojové prostředí musí být plně funkční.
3. Loader – začátek
[Odkaz na sekci ]
Musí být zvolen způsob implementace Checkout SDK (jedna možnost) :
Bude použito vložení scriptu ze CDN do elementu < body >
.
Bude použit NPM manager.
❔ Příklady implementace
Před zahájením implementace je vhodné přeskočit na závěr dokumentace a seznámit se s poskytnutými příklady implementace.
[Odkaz na sekci ]
❔ Příklad implementace podle zvolené varianty byl prostudován.
Použití
❔ Musí být implementována funkce prefetch(...)
.
Musí být implementována funkce load(...)
.
❔ Použitá verze loaderu by měla být protokolována.
4. Core
[Odkaz na sekci ]
Před instancí
Musí být zvolen implementační scénář (jedna možnost) :
Statický.
Dynamický (zatím nedostupný) .
Musí být úspěšně vytvořena instance Core.
❔ Použitá verze modulu Core by měla být protokolována.
Instance
Musí být implementována metoda checkEnvironmentSecurity()
.
Musí být implementována metoda canMakePayment()
(zatím nedostupná) .
⚠️ V každé aplikaci smí být vytvořena pouze jedna instance Core (jedno volání core.create()
). Při pokusu o vytvoření další instance je vrácena původní.
5. Apple Pay
Pouze pokud je implementováno Apple Pay.
[Odkaz na sekci ]
Příprava elementu pro vykreslení
Musí být připraven vhodný element (např. < div >
).
❔ Element je při volání mount()
již součástí DOM.
Musí být vybrán vhodný rozměr elementu pro tlačítko.
Před instancí
Musí být vytvořena instance Apple Pay.
❔ Použitá verze modulu Apple Pay by měla být protokolována.
Instance
Musí být implementována metoda canMakePayment()
.
Musí být implementována metoda mount()
.
Po zavolání metody mount()
se zobrazilo tlačítko.
❔ Pokud je použito SPA (React, Vue, ...), musí být správně použity metody mount()
a destroy()
.
5. Google Pay
Pouze pokud je implementováno Google Pay.
[Odkaz na sekci ]
Příprava elementu pro vykreslení
Musí být připraven vhodný element (např. < div >
).
❔ Element je při volání mount()
již součástí DOM.
Musí být vybrán vhodný rozměr elementu pro tlačítko.
Před instancí
Musí být vytvořena instance Google Pay.
❔ Použitá verze modulu Google Pay by měla být protokolována.
Instance
Musí být implementována metoda canMakePayment()
.
Musí být implementována metoda mount()
.
Po zavolání metody mount()
se zobrazilo tlačítko.
❔ Pokud je použito SPA (React, Vue, ...), musí být správně použity metody mount()
a destroy()
.
6. Testovací scénáře plateb
Před spuštěním do produkce musí být ověřeno, že integrace správně pokrývá následující scénáře:
Apple Pay
Byla provedena úspěšná (testovací) platba Apple Pay (onPaid()
).
Byla provedena neúspěšná platba Apple Pay (nedostatek prostředků (onPending()
)).
Byla otestována platba, která byla přerušena uživatelem před dokončením (onPending()
).
Bylo ověřeno, že uživateli je vždy zobrazeno odpovídající hlášení (úspěch, zamítnutí, přerušení).
Bylo ověřeno chování aplikace v případě, že uživatel zavřel UI Apple Pay před dokončením platby (onPending()
)).
❔ Byla provedena úspěšná (testovací) předautorizační platba Apple Pay (onPaid()
).
❔ Byla provedena úspěšná (testovací) iniciační opakovaná platba Apple Pay (onPaid()
).
Google Pay
Byla provedena úspěšná (testovací) platba Google Pay (onPaid()
).
Byla provedena neúspěšná platba Google Pay (nedostatek prostředků (onPending()
)).
Byla otestována platba, která byla přerušena uživatelem před dokončením (onPending()
).
Bylo ověřeno, že uživateli je vždy zobrazeno odpovídající hlášení (úspěch, zamítnutí, přerušení).
Bylo ověřeno chování aplikace v případě, že uživatel zavřel UI Google Pay před dokončením platby (onPending()
)).
❔ Byla provedena úspěšná (testovací) předautorizační platba Google Pay (onPaid()
).
❔ Byla provedena úspěšná (testovací) iniciační opakovaná platba Google Pay (onPaid()
).