V REST variantě API podporujeme pouze datové formáty JSON a XML.
Přístup je chráněn validací IP adresy a integrita předávaných dat je zajištěna použitím HTTPS protokolu.
Server platební brány odpovídá pouze v případě, že je platba zakládána na pozadí. Všechny parametry jsou 'urlencoded', stejně jako v případě HTTP requestu. Pokud je platba založena přesměrováním, pak server platební brány rovnou přesměruje Plátce na příslušnou URL nebo zobrazí chybovou zprávu.
Výběr platební metody
V rámci nákupního procesu je v e-shopu možné plátci zobrazit výběr platebních metod a na základě jeho výběru založit platbu s konkrétní metodou. Ve chvíli, kdy je plátci zobrazena platební brána, dojde k automatickému zobrazení předem vybrané platební metody. Nastavit vybranou platební metodu je možné vyplněním parametru 'method'. Prostřednictvím tohoto parametru je možné platební metody i různě filtrovat.
Více zde: https://apidoc.comgate.cz/metody-platebni-brany
Předautorizace
Platební brána umožňuje zadávat, potvrzovat a rušit předautorizace plateb kartou. Založení platby probíhá standardně, pouze je potřeba uvést parametr 'preauth=true'. Poté plátce projde stejným procesem jako v případě normální platby. Poté, co zadá své údaje na platební bráně, je na jeho platební kartě zarezervována příslušná částka. Podle výsledku této operace přechází buď do zvláštního stavu AUTHORIZED, nebo v případě zamítnutí do stavu CANCELLED. Tento stav je ohlášen na pozadí obvyklým postupem popsaným výše.
Aby byly peníze skutečně strženy, volá e-shop funkci pro potvrzení předautorizace. Pokud se peníze mají uvolnit (např. není možné naplnit podmínky kupní smlouvy), volá funkci pro zrušení předautorizace.
Přesměrování na platbu pomocí transId
Doporučujeme, aby si obchodník při založení platby vždy uložil kompletní URL pro přesměrování, která je vrácena v parametru redirect a tuto adresu používal pro všechna budoucí přesměrování (včetně emailů). V nouzových případech je možné plátce přesměrovat na platební bránu i prostřednictvím identifikátoru transakce transId. K tomuto přesměrování lze využít adresu: https://payments.comgate.cz/XXXX-XXXX-XXXX. Pokud však platba nebude v systému Comgate nalezena, zobrazí se servisní chybová stránka. Dále také nikdy sami neměňte, zda má být platba přesměrována na domény pay1, pay2, pay3, pay4, pay5 a pay6, systém si to určí při založení platby sám a na jiné subdoméně platba pravděpodobně nebude fungovat správně.
Přesměrování
Pro zakládání platby přesměrováním použijte endpoint /v2.0/paymentRedirect/merchant/{merchant_id}, se stejnými parametry jako u základní create.
URL adresa a struktura kódu založené platby se může měnit. Vždy použijte adresu, kterou vám vrátí API, a nijak do ní nezasahujte. Pokud chcete uložit kód platby, použijte parametr transId. Nikdy neparsujte data z konkrétních pozic v textu, mohou se též měnit.
Všechny hodnoty obsahující speciální znaky musí být v UTF-8.
| authorization required | string Autorizační hlavička je ve tvaru: 'Authorization: Basic [base64_encode(merchant:secret)]'. Merchant je identifikátor e-shopu v systému Comgate - naleznete v Klientském portálu v sekci Nastaveni obchodů - Propojeni obchodu. Secret je heslo. |
Vytvořit novou platbu
| test | boolean Default: false Hodnota 'true' znamená, že platba bude založena jako testovací, hodnota 'false' znamená produkční verzi. Pokud parametr chybí, založí se platba jako produkční. |
| country | string Možné hodnoty: AT, BE, CY, CZ, DE, EE, EL, ES, FI, FR, GB, HR, HU, IE, IT, LT, LU, LV, MT, NL, NO, PL, PT, RO, SI, SK, SE, US. Pro ostatní země použijte ALL. Pokud parametr chybí, použije se automaticky 'CZ'. Parametr slouží k omezení výběru platebních metod na platební bráně. Je potřeba aby byla zvolena správná kombinace parametrů 'country' a 'curr' (měna) pro daný region. Například pro zobrazení českých tlačítek a platby kartou v měně CZK zvolte kombinaci country=CZ a curr=CZK. U slovenských bankovních tlačítek a platby kartou v EUR zvolte country=SK a curr=EUR. Pro polská bankovní tlačítka a platbu kartou v PLN zvolte country=PL a curr=PLN. Pro ostatní cizí měny můžete použít parametr country=ALL nebo další kód země, který platební brána přijímá. |
| price required | integer <int32> Cena za produkt v centech nebo haléřích. U měny HUF nelze zadat cenu s desetinnými místy. V tomto případě musí cena vždy končit 00. |
| curr required | string Kód měny dle ISO 4217. K dispozici jsou měny: CZK, EUR, PLN, HUF, USD, GBP, RON, NOK, SEK. |
| label required | string Krátký popis produktu (1-16 znaků) – dle této položky je možné filtrovat platby v Klientském portálu. |
| refId required | string Parametr vhodný k zadaní variabilního symbolu nebo čísla objednávky na straně Klienta (nemusí být unikátní, tzn. lze založit více plateb se stejným refId). V Klientském portálu a denním csv. je parametr označen jako ID Klienta. |
| method required | string Metoda platby z tabulky platebních metod, hodnota 'ALL' v případě, že si má metodu vybrat plátce, nebo jednoduchý výraz s výběrem metod. |
| account | string Identifikátor bankovního účtu Klienta, na který Comgate převede peníze. Pokud parametr nevyplníte, použije se výchozí účet Klienta. Seznam účtů Klienta najdete na https://portal.comgate.cz/. |
| email required | string Kontaktní email plátce. Povinný je pouze jeden z údajů emailová adresa nebo telefonní číslo. |
| phone required | string Telefonní číslo plátce v mezinárodním formátu +420777112233. Povinný je pouze jeden z údajů emailová adresa nebo telefonní číslo. |
| fullName required | string Jméno a příjmení plátce, např. Josef Novák. |
| billingAddrCity | string Fakturační adresa - město. (např. Hradec Králové). |
| billingAddrStreet | string Fakturační adresa - ulice. (např. Jiráskova 115). |
| billingAddrPostalCode | string Fakturační adresa - PSČ. (např. 50304). |
| billingAddrCountry | string Fakturační adresa - země, ve formátu ISO 3166 alpha-2 (např. CZ, SK, US, GB). |
| delivery | string Způsob doručení - jedna z dostupných možností: HOME_DELIVERY, PICKUP, ELECTRONIC_DELIVERY. Varianta PICKUP znamená všechna výdejní místa, výdejní boxy apod. |
| homeDeliveryCity | string Doručovací adresa - město. Vyplňuje se pouze v případě delivery=HOME_DELIVERY (např. Hradec Králové). |
| homeDeliveryStreet | string Doručovací adresa - ulice. Vyplňuje se pouze v případě delivery=HOME_DELIVERY (např. Štefanikova 421). |
| homeDeliveryPostalCode | string Doručovací adresa - PSČ. Vyplňuje se pouze v případě delivery=HOME_DELIVERY (např. 50341). |
| homeDeliveryCountry | string Doručovací adresa - země, ve formátu ISO 3166 alpha-2. Vyplňuje se pouze v případě delivery=HOME_DELIVERY (např. CZ, SK, US, GB). |
| category | string Kategorie produktu v košíku - jedna z dostupných možností, která nejvíce popisuje košík: PHYSICAL_GOODS_ONLY, OTHER. Varianta OTHER zahrnuje i dárkové karty, vouchery nebo služby. |
| name | string Identifikátor produktu – tato položka se nachází v denním csv. Klienta pod názvem Produkt. |
| lang | string Kód jazyka (ISO 639-1), ve kterém budou Plátci zobrazeny instrukce pro dokončení platby, standardně povolené hodnoty ('bg', 'cs', 'da', 'de', 'el', 'en', 'es', 'et', 'fi', 'fr', 'hr', 'hu', 'it', 'lt', 'lv', 'nl', 'no', 'pl', 'pt', 'ro', 'ru', 'sl', 'sk', 'sv', 'uk', 'vi'), pokud parametr chybí, použije se 'cs', v případě požadavku na další jazyk, kontaktujte podpora@comgate.cz. |
| preauth | boolean V případě požadavku na předautorizaci platby kartou nastavte na 'true'. V případě normální platby vyplňte 'false' nebo parametr nepoužívejte. Pouze pro platby kartou. |
| initRecurring | boolean Příznak pro založení iniciační transakce pro opakované platby. Pouze pro Klienty, kteří mají službu povolenou. |
| verification | boolean Parametr ověřovací platby, v případě požadavku na založení ověřovací platby (hodnota 'true') není nutné posílat parametr 'initRecurring'. |
| expirationTime | string Délka expirace platby. Povolená hodnota je celé číslo následované písmenem zvolené časové jednotky: 'm' (minuty), 'h' (hodiny) nebo 'd' (dny). Například '30m' (30 minut) nebo '10h' (10 hodin) nebo '2d' (2 dny). Jednotky nelze kombinovat. Výsledná délka musí být v rozmezí 30 minut až 7 dní. Pokud není vyplněno, použije se hodnota v nastavení obchodu zvolená v Klientském portálu. |
| dynamicExpiration | boolean Hodnota 'true' znamená, že u platby bude použita dynamická expirace, hodnota 'false' znamená, že dynamická expirace použita nebude. Pokud není vyplněno, použije se hodnota v nastavení obchodu zvolená v Klientském portálu. Více o dynamické expiraci najdete v článku zde. |
| url_paid | string Individuální nastavení pro jednotlivé platby. Např. 'https://www.example.com/result.php?id=${id}&refId=${refId}' |
| url_cancelled | string Individuální nastavení pro jednotlivé platby. Např. 'https://www.example.com/result.php?id=${id}&refId=${refId}' |
| url_pending | string Individuální nastavení pro jednotlivé platby. Např. 'https://www.example.com/result.php?id=${id}&refId=${refId}' |
| chargeUnregulatedCardFees | boolean Pomocí tohoto parametru zapnete nebo vypnete přenesení poplatků na plátce při platbě neregulovanou kartou a zároveň vypnete metodu Apple Pay a Google Pay (pokud není parametrem 'enableApplePayGooglePay' nastaveno jinak). Povolené hodnoty jsou 'true' nebo 'false'. |
| enableApplePayGooglePay | boolean Nastavte na 'false' pro vypnutí platební metody Apple Pay a Google Pay pro konkrétní platbu, i když jsou ve vašem nastavení účtu tyto metody povoleny. |
| threeDSPreference | string Preference 3D Secure ověření karetních plateb. Povolené hodnoty jsou 'STANDARD', 'SKIP' nebo 'FORCE'. |
| code required | integer Návratový kód metody a popis chyby: |
| message required | string |
| transId | string Unikátní alfanumerický identifikátor (kód) transakce, který bude zobrazen Plátci v různých fázích platby. |
| redirect | string URL stránky, kam má být Plátce přesměrován pro realizaci platby. |
{- "test": true,
- "country": "string",
- "price": 1000,
- "curr": "CZK",
- "label": "Product 123",
- "refId": "order445566",
- "method": "ALL",
- "account": "string",
- "email": "platce@email.com",
- "phone": "string",
- "fullName": "Jan Novák",
- "billingAddrCity": "string",
- "billingAddrStreet": "string",
- "billingAddrPostalCode": "string",
- "billingAddrCountry": "string",
- "delivery": "HOME_DELIVERY",
- "homeDeliveryCity": "string",
- "homeDeliveryStreet": "string",
- "homeDeliveryPostalCode": "string",
- "homeDeliveryCountry": "string",
- "category": "PHYSICAL_GOODS_ONLY",
- "name": "string",
- "lang": "string",
- "preauth": true,
- "initRecurring": true,
- "verification": true,
- "expirationTime": "string",
- "dynamicExpiration": true,
- "url_paid": "string",
- "url_cancelled": "string",
- "url_pending": "string",
- "chargeUnregulatedCardFees": true,
- "enableApplePayGooglePay": true,
- "threeDSPreference": "string"
}{- "code": 0,
- "message": "OK",
- "transId": "AB12-CD34-EF56",
}Storno platby
V případě, že byla objednávka v e-shopu stornována a transakce nemá být plátcem dokončena, je možné využít storno platby. Na rozdíl od refundace musí být platba ve stavu očekávaná (pending).
Vzhledem k rychlosti zaplacení plateb může být platba již ve stavu zaplacená, v takovém případě se zobrazí chyba a je nutné využít metodu refundace.
| transId required | string Example: AAAA-BBBB-CCCC unikátní alfanumerický identifikátor (kód) transakce (transactionId) |
| authorization required | string Autorizační hlavička je ve tvaru: 'Authorization: Basic [base64_encode(merchant:secret)]'. Merchant je identifikátor e-shopu v systému Comgate - naleznete v Klientském portálu v sekci Nastaveni obchodů - Propojeni obchodu. Secret je heslo. |
| code required | integer Návratový kód metody a popis chyby: |
| message required | string |
# You can also use wget curl -X DELETE https://payments.comgate.cz/v2.0/payment/transId/{transId}.json \ -H 'Authorization: Basic MTIzNDU2Omd4NHE4T1YzVEp0Nm5vSm5maGpxSkt5WDNaNlljaDB5'
{- "code": 0,
- "message": "OK"
}Získání stavu platby na pozadí
Analogická funkce pro předání výsledku platby na pozadí, pouze iniciovaná Obchodem. Nenahrazuje však předání stavu platby na pozadí, její implementace je stále povinná.
Odpověď endpointu může obsahovat i další pole, která odpovídají parametrům zadaným při založení platby (/create).
| transId required | string Example: AAAA-BBBB-CCCC unikátní alfanumerický identifikátor (kód) transakce (transactionId) |
| authorization required | string Autorizační hlavička je ve tvaru: 'Authorization: Basic [base64_encode(merchant:secret)]'. Merchant je identifikátor e-shopu v systému Comgate - naleznete v Klientském portálu v sekci Nastaveni obchodů - Propojeni obchodu. Secret je heslo. |
| code required | integer Návratový kód metody |
| message required | string Popis chyby v závislosti na návratovém kódu: |
| test required | string Hodnota 'true' znamená, že platba byla založena jako testovací, hodnota 'false' znamená produkční verzi. |
| price required | string cena za produkt v centech nebo haléřích |
| curr required | string kód měny dle ISO 4217 |
| label required | string krátký popis produktu (1-16 znaků) |
| refId required | string reference platby v systému e-shopu |
| payerId | string identifikátor Plátce v systému e-shopu |
| method | string použitá metoda platby, z tabulky platebních metod |
| account | string |