checkout
Pro správné fungování mobilních plateb prostřednictvím Apple Pay a Google Pay je nezbytné aktivovat Checkout API. Toto API bylo původně navrženo jako interní rozhraní pro knihovnu Comgate Checkout SDK a nebylo určeno k přímému využití třetími stranami.
Comgate nenabízí SDK pro mobilní aplikace. Vývoj v tuto chvíli není plánován.
Aktivace
Aktivace je velice jednoduchá. Stačí se přihlásit do klientského portálu a postupovat podle návodu:
V rámci uživatelského rozhraní konfigurace Checkout SDK je uvedeno mnoho doplňujících informací, které se vztahují výhradně ke knihovně Comgate Checkout SDK. Tyto informace nejsou relevantní pro přímé využití Checkout API pro mobilní aplikace. Ignorujte je proto a zaměřte se pouze na aktivaci Checkout API dle této dokumentace.
- V horním menu vyberte Integrace a v části Nastavení obchodů vyberte obchod, pro který chcete aktivovat Checkout API.
- V horní části stránky vyberte kartu Propojení obchodu a následně vyberte k editaci propojení, přes které chcete zpracovávat platby.
- Najděte položku Checkout SDK a zaklikněte ji.
- Dojde k rozbalení dalších nastavení pro Checkout SDK. V této části povolte všechny služby, které chcete prostřednictvím Checkout API provozovat (například Apple Pay a Google Pay).
- Klikněte na tlačítko Uložit.
Tím je celá aktivace dokončena.
Získání checkoutId
Pro využití Checkout API je nutné získat hodnotu checkoutId
, která slouží k jednoznačné identifikaci propojení obchodu:
- Přejděte na seznam propojení obchodu, viz kroky 1 a 2 výše v části Aktivace.
- V seznamu propojení obchodu najděte požadované propojení a klikněte na symbol oka pro zobrazení detailu.
- Na stránce detailu sjeďte dolů a najděte položku Identifikátor Checkout SDK.
Instrukce k zakládání plateb
Při založení platby prostřednictvím Merchant API se k autorizaci využívá unikátní dvojice údajů merchant
a secret
. Tato dvojice slouží k ověření přístupu a zabezpečení komunikace mezi e-shopem a Comgate API.
Vedle těchto údajů existuje také jedinečný identifikátor checkoutId
, který slouží výhradně pro komunikaci s Checkout API (/checkout/*
). Tento identifikátor se nepoužívá při založení platby, ale je nezbytný při každém volání endpointů Checkout API.
Díky checkoutId
se při přímé komunikaci z frontendu e-shopu nebo mobilní aplikace nemusí předávat citlivé údaje merchant
a secret
.
Je však potřeba mít na paměti, že checkoutId
je unikátní pro každé propojení obchodu. To znamená, že pokud máte více propojení obchodu, každé z nich bude mít své vlastní checkoutId
.
Systém kontroluje a striktně vyžaduje, aby použité checkoutId
odpovídalo propojení, přes které byla daná platba (transId
) založena.
Praktický příklad
Jsou použita dvě propojení obchodu:
- hodnota parametru
merchant
je111111
:

- hodnota parametru
merchant
je111112
:

Nejprve je prostřednictvím Merchant API (pro přehlednost ve verzi 1.0) založena platba. K tomu jsou použity údaje merchant
a secret
z propojení 1.
curl --request POST \
--url https://payments.comgate.cz/v1.0/create \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data merchant=111111 \
--data secret=XXXXXXXXXXXXXXXXXXXXXXXXXXXX \
⋯
V odpovědi je vráceno transId
nové platby. To bude následně využito pro komunikaci s Checkout API. V tomto případě je hodnota transId
například "XXXX-XXXX-XXXX"
.
Při volání endpointů Checkout API (například pro získání stavu pokusu o platbu) musí být použito výhradně checkoutId
z propojení 1. V tomto případě "f86a8c6a-e9e8-4cbe-9731-a9efe44d1596"
:
curl --request POST \
--url https://payments.comgate.cz/checkout/provider/payment-status \
--header 'Content-Type: application/json' \
--data '{
"transId":"XXXX-XXXX-XXXX",
"checkoutId":"f86a8c6a-e9e8-4cbe-9731-a9efe44d1596",
"service": "COMGATE_APPLEPAY",
"subpaymentId":123456789
}'
Pokud by pro platbu "XXXX-XXXX-XXXX"
bylo použito checkoutId
z propojení 2 (25bbadca-00c3-4630-bce5-aeb9c646808f
), dojde k chybě systému, protože transId
platby bylo založeno přes propojení 1 (f86a8c6a-e9e8-4cbe-9731-a9efe44d1596
).
Pokud je pro zakládání plateb používáno více propojení obchodu, byť na stejném obchodě, musí být při komunikaci s Checkout API vždy použito odpovídající checkoutId
, které náleží propojení, kterým byla platba založena. To znamená, že pokud byla platba založena prostřednictvím propojení 1, musí být při komunikaci s Checkout API použito checkoutId
z propojení 1.