Terminálové REST API slouží k internetovému propojení pokladního nebo jiného obchodního systému s platebním terminálem od Comgate. Umožňuje na dálku zadávat pokyny terminálu, typicky pro zahájení platby a následné zjištění jejího výsledku. V terminálovém REST API podporujeme pouze datový formát JSON. Proces zpracování jedné transakce se obvykle skládá z následujících kroků:
Založení platby (povinný krok)
Pokladní systém zavolá metodu POST /v2.0/terminalPayment.json a předá jí povinné údaje: částku (price), měnu (curr), popř. je možné doplnit referenci platby/variabilní symbol (refId). Pokud je požadavek v pořádku, API vrátí unikátní identifikátor transakce transId. Tento kód v pokladním systému uložte, je klíčový pro všechny další operace s touto platbou.
Zjištění stavu platby (volitelný krok)
Pokladní systém může zjišťovat výsledek platby na terminálu. Opakovaně volejte metodu GET /v2.0/terminalPayment/transId/{transId}.json, dokud se stav (status) nezmění z 'PENDING' na finální hodnotu. Možné finální stavy jsou:
DELETE /v2.0/terminalPayment/transId/{transId}.json. Storno lze provést pouze u plateb ve stavu 'PAID' a pouze do provedení uzávěrky na terminálu.GET /v2.0/terminal.json můžete ověřit, zda je terminál online.POST /v2.0/terminalClosing.json slouží k provedení uzávěrky, která vrátí souhrnné informace o transakcích provedených od předchozí uzávěrky a vymaže historii transakcí v terminálu.Authorization: Basic [base64_encode(merchant:secret)]. Parametr 'merchant' je váš přihlašovací identifikátor k terminálu a 'secret' je heslo. Tyto údaje spolu s možnostmi nastavení povolených IP adres pro přístup k API najdete v Klientském portálu v sekci Integrace – Nastavení obchodů – Terminály.V současné době připravujeme další metody pro práci s předautorizacemi a MOTO platbami.
| authorization required | string Autorizační hlavička je ve tvaru: |
Vytvořit novou platbu.
| price required | integer <int32> Celková cena v centech nebo haléřích, zahrnující případné spropitné. Například pro platbu 10 CZK je třeba použít hodnotu '1000'. |
| tip | integer <int32> Nepovinná výše spropitného v centech nebo haléřích. Musí být nižší než hodnota price. Například pro spropitné 1 CZK použijte hodnotu '100'. |
| curr required | string Kód měny dle ISO 4217. K dispozici jsou měny: CZK, EUR. |
| refId | 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. |
| code required | integer Návratový kód metody a popis chyby: |
| message required | string |
| transId | string Unikátní alfanumerický identifikátor (kód) transakce. |
{- "price": 1000,
- "tip": 100,
- "curr": "CZK",
- "refId": "2010102600"
}{- "code": 0,
- "message": "OK",
- "transId": "AB12-CD34-EF56"
}Získání stavu platby eventuálně s detailními daty o transakci (jsou-li k dispozici).
| 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: |
| code required | integer Návratový kód metody. |
| message required | string Popis chyby v závislosti na návratovém kódu: |
| price required | integer <int32> Celková cena v centech nebo haléřích, zahrnující případné spropitné. Například pro platbu 10 CZK bude vrácena hodnota '1000'. |
| tip | integer <int32> Výše spropitného v centech nebo haléřích. |
| curr required | string Kód měny dle ISO 4217. |
| refId required | string Reference platby (variabilní sysmbol). |
| transId required | string Unikátní alfanumerický identifikátor (kód) transakce (transactionId). |
| status required | string Aktuální stav transakce, hodnoty: |
| fee | string Spočítaný poplatek za transakci v centech nebo haléřích, případně může nabývat hodnoty 'unknown'. Poplatky za platby jsou dostupné v response nejdříve druhý den na základě reportů zpracovatelů platby. |
| cardValid | string Expirace karty plátce ve formátu MM/RR (pokud byla karta použita). Příklad: '04/28'. |
| cardNumber | string Částečné číslo karty plátce (pokud byla karta použita). |
| paymentErrorReason | string Důvod zamítnutí platby (pokud je k dispozici). |
| reversed required | boolean Příznak, zda byla platba reverzována (stornována). |
| amountRefunded | string Refundovaná částka v centech nebo haléřích. |
# You can also use wget curl -X GET https://payments.comgate.cz/v2.0/terminalPayment/transId/{transId}.json \ -H 'Authorization: Basic MTIzNDU2Omd4NHE4T1YzVEp0Nm5vSm5maGpxSkt5WDNaNlljaDB5'
{- "code": 0,
- "message": "OK",
- "price": 1000,
- "tip": 100,
- "curr": "CZK",
- "refId": "2010102600",
- "transId": "AB12-CD34-EF56",
- "status": "PAID",
- "fee": "string",
- "cardValid": "04/28",
- "cardNumber": "string",
- "paymentErrorReason": "string",
- "reversed": true,
- "amountRefunded": "string"
}Storno platby
Platbu lze zrušit, dokud není na terminálu vyvolána uzávěrka. Platba musí být úspěšně dokončená (ve stavu 'PAID').
Pokud již byla na terminálu mezitím vyvolána uzávěrka, zobrazí se chyba a je nutné použít metodu 'refund' (pokud je to možné).
'code' = 0 odpovědi značí úspěšné založení reversalu. Ověření skutečného provedení zrušení ověříte voláním endpointu Stav platby.
| transId required | string Example: AAAA-BBBB-CCCC Unikátní alfanumerický identifikátor (kód) transakce (transactionId). |
string Example: email=customer@example.com E-mailová adresa plátce pro odeslání notifikace. |
| authorization required | string Autorizační hlavička je ve tvaru: |
| 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/terminalPayment/transId/{transId}.json \ -H 'Authorization: Basic MTIzNDU2Omd4NHE4T1YzVEp0Nm5vSm5maGpxSkt5WDNaNlljaDB5'
{- "code": 0,
- "message": "OK"
}Zjištění stavu terminálu.
| authorization required | string Autorizační hlavička je ve tvaru: |
| status required | string Stav testu připojení k autorizačnímu serveru. |
# You can also use wget curl -X GET https://payments.comgate.cz/v2.0/terminal.json \ -H 'Authorization: Basic MTIzNDU2Omd4NHE4T1YzVEp0Nm5vSm5maGpxSkt5WDNaNlljaDB5'
{- "status": "ONLINE"
}Provede uzávěrku na terminálu. Při uzávěrce dojde k vymazání historie transakcí v terminálu.
| authorization required | string Autorizační hlavička je ve tvaru: |
| code required | integer 0 - OK, jinak podrobnosti v parametru 'message'. |
| message required | string OK nebo textový popis výsledku uzávěrky. |
| batchNumber | integer Číslo uzávěrky. |
Array of objects Seznam souhrnů uzávěrky podle měn. |
# You can also use wget curl -X POST https://payments.comgate.cz/v2.0/terminalClosing.json \ -H 'Authorization: Basic MTIzNDU2Omd4NHE4T1YzVEp0Nm5vSm5maGpxSkt5WDNaNlljaDB5' \ -H 'Content-Type: application/json'
{- "code": 0,
- "message": "OK",
- "batchNumber": 1,
- "batchData": [
- {
- "curr": "CZK",
- "creditsAmount": 100,
- "creditsCount": 3,
- "debitsAmount": 200,
- "debitsCount": 21
}
]
}| authorization required | string Autorizační hlavička je ve tvaru: |
Vytvořit nový návrat.
| price required | integer <int32> Hodnota návratu v centech nebo haléřích. Například pro návrat 10 CZK je třeba použít hodnotu '1000'. |
| curr required | string Kód měny dle ISO 4217. K dispozici jsou měny: CZK, EUR. |
| refId | 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. |
string E-mailová adresa plátce pro odeslání notifikace. |
| code required | integer Návratový kód metody a popis chyby: |
| message required | string |
| transId | string Unikátní alfanumerický identifikátor (kód) transakce. |
{- "price": 1000,
- "curr": "CZK",
- "refId": "2010102600",
- "email": "customer@example.com"
}{- "code": 0,
- "message": "OK",
- "transId": "AB-CD123-EF456"
}Získání stavu návratu eventuálně s detailními daty o transakci (jsou-li k dispozici).
| transId required | string Example: AA-BBBBB-CCCCC Unikátní alfanumerický identifikátor (kód) transakce (transactionId). |
| authorization required | string Autorizační hlavička je ve tvaru: |
| code required | integer Návratový kód metody. |
| message required | string Popis chyby v závislosti na návratovém kódu: |
| price required | integer <int32> Hodnota návratu v centech nebo haléřích. Například pro návrat 10 CZK bude vrácena hodnota '1000'. |
| curr required | string Kód měny dle ISO 4217. |
| refId required | string Reference návratu. |
| transId required | string Unikátní alfanumerický identifikátor (kód) transakce (transactionId). |
| status required | string Aktuální stav návratu, hodnoty: |
| cardNumber | string Částečné číslo karty plátce (pokud byla karta použita). |
| reversed required | boolean Příznak, zda byl návrat reverzován (stornován). |
# You can also use wget curl -X GET https://payments.comgate.cz/v2.0/terminalRefund/transId/{transId}.json \ -H 'Authorization: Basic MTIzNDU2Omd4NHE4T1YzVEp0Nm5vSm5maGpxSkt5WDNaNlljaDB5'
{- "code": 0,
- "message": "OK",
- "price": 1000,
- "curr": "CZK",
- "refId": "2010102600",
- "transId": "AB-CD123-EF456",
- "status": "PAID",
- "cardNumber": "string",
- "reversed": true
}Storno návratu
Návrat lze zrušit pouze ve stejný den provedení. Návrat musí být úspěšně dokončený (ve stavu 'PAID').
'code' = 0 odpovědi značí úspěšné založení reversalu. Ověření skutečného provedení zrušení ověříte voláním endpointu Stav návratu.
| transId required | string Example: AA-BBBBB-CCCCC Unikátní alfanumerický identifikátor (kód) transakce (transactionId). |
string Example: email=customer@example.com E-mailová adresa plátce pro odeslání notifikace. |
| authorization required | string Autorizační hlavička je ve tvaru: |
| 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/terminalRefund/transId/{transId}.json \ -H 'Authorization: Basic MTIzNDU2Omd4NHE4T1YzVEp0Nm5vSm5maGpxSkt5WDNaNlljaDB5'
{- "code": 0,
- "message": "OK"
}Metoda transferList slouží k získání informace, jaké převody byly uskutečněny v rámci daného dne. Informace o bankovním převodu (poslaného v předchozí pracovní den) je dostupná v dopoledních hodinách dne následujícího.
Převody a výpisy se generují pouze pro zaplacené a převedené produkční platby. Pro všechny ostatní platby, včetně testovacích, se převody a výpisy negenerují.
| date required | string Example: 2025-04-25 Uveďte datum uskutečnění převodu. |
| test | boolean Example: test=false Pokud vyplníte 'true', metoda vrátí předem definovaný vzorový převod. |
| authorization required | string Autorizační hlavička je ve tvaru: |
| transferId | integer Převody, které byly uskutečněny v rámci daného dne. |
| transferDate | string <date> Parametry date a transferDate jsou interpretovány v časovém pásmu Europe/Prague (CET/CEST v závislosti na datu). |
| accountCounterparty | string Číslo účtu protistrany. |
| accountOutgoing | string Odchozí číslo účtu. |
| variableSymbol | string Identifikátor platby (variabilní symbol). |
# You can also use wget curl -X GET https://payments.comgate.cz/v2.0/transferList/date/{date}.json \ -H 'Authorization: Basic MTIzNDU2Omd4NHE4T1YzVEp0Nm5vSm5maGpxSkt5WDNaNlljaDB5'
[- {
- "transferId": 1234567,
- "transferDate": "2023-01-25",
- "accountCounterparty": "0/0000",
- "accountOutgoing": "123456789/0000",
- "variableSymbol": "12345678"
}
]Metoda singleTransfer zobrazuje detailní informace ke konkrétnímu bankovnímu převodu.
Povinný parametr 'transferId' získá obchodník pomocí metody transferList.
Parametry date jsou interpretovány v časovém pásmu Europe/Prague (CET/CEST v závislosti na datu).
Převody a výpisy se generují pouze pro zaplacené a převedené produkční platby. Pro všechny ostatní platby, včetně testovacích, se převody a výpisy negenerují.
| transferId required | string Example: 1234567 Uveďte převody, které byly uskutečněny v rámci daného dne. Seznam získáte pomocí metody transferList. |
| test | boolean Example: test=false Vhodné pro testování – Pokud je hodnota true, vrátí se detaily k předem definovaným vzorovým převodům. |
| authorization required | string Autorizační hlavička je ve tvaru: |
| typ | integer Parametr označuje typ převodu. |
| Merchant | string Identifikátor e-shopu v systému Comgate. |
| Datum založení | string Datum založení transakce. |
| Datum zaplacení | string Datum zaplacení transakce. |
| Datum převodu | string Datum vyplacení hromadného převodu transakcí. |
| Měsíc fakturace | integer Měsíc, ke kterému se platba vztahuje účetně. |
| ID Comgate | string Comgate ID platby, 12místný kód, unikátní identifikace platby. |
| Metoda | string Výsledná metoda platby. |
| Produkt | string Libovolný identifikátor produktu, který předává váš systém při založení platby pod parametrem 'name'. |
| Popis | string Krátký popis produktu (1–16 znaků), který předává váš systém při založení platby pod parametrem 'label'. |
| E-mail plátce | string E-mail plátce platby. |
| Variabilní symbol plátce | string Variabilní symbol přiřazený k dané platbě. |
| Variabilní symbol převodu | string Variabilní symbol hromadného převodu. |
| ID od klienta | string Párovací symbol, díky kterému identifikujete zboží a zákazníka, který si ho objednal (např. číslo objednávky, číslo zákazníka apod.). V rámci protokolu API se jedná o parametr RefId, který systém posílá při založení platby. |
| Měna | string Měna platby. Hodnota je ve formátu ISO 4217. |
| Potvrzená částka | string Částka realizované transakce (výše zákazníkovy objednávky). |
| Převedená částka | string Částka, která je e-shopu standardně zaslána na bankovní účet (ponížená o poplatek z transakce). |
| Poplatek celkem | string Celkový poplatek za platbu, který se řídí nastaveným ceníkem. Poplatek celkem = poplatek mezibankovní + poplatek asociace + poplatek zpracovatel. |
| Poplatek mezibankovní | string Poplatek, který dostává vydavatel platební karty. |
| Poplatek asociace | string Poplatek, který z transakce obdrží karetní asociace. |
| Poplatek zpracovatel | string Poplatek, který si účtuje zpracovatel transakce. |
| Typ karty | string Typ použité platební karty při platbě kartou. |
# You can also use wget curl -X GET https://payments.comgate.cz/v2.0/singleTransfer/transferId/{transferId}.json \ -H 'Authorization: Basic MTIzNDU2Omd4NHE4T1YzVEp0Nm5vSm5maGpxSkt5WDNaNlljaDB5'
[- {
- "typ": 1,
- "Merchant": "123456",
- "Datum založení": "2023-01-06 14:11:30",
- "Datum zaplacení": "2023-01-06 14:21:30",
- "Datum převodu": "2023-01-10",
- "Měsíc fakturace": null,
- "ID Comgate": "AAAA-BBBB-CCCC",
- "Metoda": "Card payment",
- "Produkt": null,
- "Popis": "description eshop payment",
- "E-mail plátce": "name.lastname@email.cz",
- "Variabilní symbol plátce": "123456789",
- "Variabilní symbol převodu": "123456789",
- "ID od klienta": "1234",
- "Měna": "EUR",
- "Potvrzená částka": "10,00",
- "Převedená částka": "10,00",
- "Poplatek celkem": "0,35",
- "Poplatek mezibankovní": "0,25",
- "Poplatek asociace": "0,25",
- "Poplatek zpracovatel": "-0,15",
- "Typ karty": "EU_UNREGULATED"
}
]Díky metodě csvSingleTransfer si lze stáhnout denní výpis ve formátu CSV.
Převody a výpisy se generují pouze pro zaplacené a převedené produkční platby. Pro všechny ostatní platby, včetně testovacích, se převody a výpisy negenerují.
| transferId required | string Example: 1234567 Uveďte převody, které byly uskutečněny v rámci daného dne. Seznam získáte pomocí metody transferList. |
| download | boolean Example: download=false Pokud není vyplněno, nebo je false, vrací data: název souboru a jeho obsah; pokud je true, vrací rovnou CSV soubor. |
| test | boolean Example: test=false Pokud je hodnota true, vrátí ukázkový CSV soubor. |
| authorization required | string Autorizační hlavička je ve tvaru: |
| nazev | string Název staženého souboru CSV |
| csv | string Soubor CSV s kódováním Base64 |
# You can also use wget curl -X GET https://payments.comgate.cz/v2.0/csvSingleTransfer/transferId/{transferId}.json \ -H 'Authorization: Basic MTIzNDU2Omd4NHE4T1YzVEp0Nm5vSm5maGpxSkt5WDNaNlljaDB5'
{- "nazev": "vypis-YYYY-MM-DD.csv",
- "csv": "base64 encoded csv"
}Díky metodě aboSingleTransfer si lze stáhnout denní výpis ve formátu ABO.
Převody a výpisy se generují pouze pro zaplacené a převedené produkční platby. Pro všechny ostatní platby, včetně testovacích, se převody a výpisy negenerují.
| transferId required | string Example: 1234567 Uveďte převody, které byly uskutečněny v rámci daného dne. Seznam získáte pomocí metody transferList. |
| download | boolean Example: download=true Pokud není vyplněno, nebo je false, vrací data: název souboru a jeho obsah; pokud je true, vrací rovnou ABO soubor. |
| type | string Example: type=v1 Parametr 'type' může nabývat hodnot 'v1' a 'v2'. Pod 'v1' získáte ABO verzi s poplatky uvedenými zvlášť ke každé platbě, pod 'v2' pak ABO s poplatkem souhrnným v jednom řádku. Pokud nebude parametr vyplněn, automaticky obdržíte typ 'v1'. |
| encoding | string Example: encoding=utf8 Kódování znaků může mít hodnoty utf8 nebo win1250. Pokud není hodnota vyplněna, je hodnota parametru defaultně ve formátu utf8. |
| test | boolean Example: test=false Pokud je hodnota true, vrátí ukázkový ABO soubor. |
| authorization required | string Autorizační hlavička je ve tvaru: |
| nazev | string Název souboru. |
| abo | string Soubor abo/gpc v kódování base64. |
# You can also use wget curl -X GET https://payments.comgate.cz/v2.0/aboSingleTransfer/transferId/{transferId}.json \ -H 'Authorization: Basic MTIzNDU2Omd4NHE4T1YzVEp0Nm5vSm5maGpxSkt5WDNaNlljaDB5'
{- "nazev": "vypis-YYYY-MM-DD.gpc",
- "abo": "base64_encoded_abo_file"
}Přímé stažení CSV souborů pro konkrétní den metodou csvDowload. Stažený soubor ve formátu ZIP bude obsahovat jeden nebo více souborů CSV, pokud je více převodů v rámci dne. Lze využít např. pro volání pomocí wget.
Převody a výpisy se generují pouze pro zaplacené a převedené produkční platby. Pro všechny ostatní platby, včetně testovacích, se převody a výpisy negenerují.
| date required | string Example: 2025-04-25 Povinný pouze za jeden den. |
| test | boolean Example: test=false Pokud je hodnota true, vrátí ukázkový CSV soubor ve formátu ZIP. |
| authorization required | string Autorizační hlavička je ve tvaru: |
# You can also use wget curl -X GET https://payments.comgate.cz/v2.0/csvDownload/date/{date} \ -H 'Authorization: Basic MTIzNDU2Omd4NHE4T1YzVEp0Nm5vSm5maGpxSkt5WDNaNlljaDB5'
Přímé stažení ABO souborů pro konkrétní den metodou aboDowload. Stažený soubor ve formátu ZIP bude obsahovat jeden nebo více souborů ABO. Lze využít např. pro volání pomocí wget.
Převody a výpisy se generují pouze pro zaplacené a převedené produkční platby. Pro všechny ostatní platby, včetně testovacích, se převody a výpisy negenerují.
| date required | string Example: 2025-04-25 Povinný pouze za jeden den. |
| type | string Parametr 'type' může nabývat hodnot 'v1' a 'v2'. Pod 'v1' získáte ABO verzi s poplatky uvedenými zvlášť ke každé platbě, pod 'v2' pak ABO s poplatkem souhrnným v jednom řádku. Pokud nebude parametr vyplněn, automaticky obdržíte typ 'v1'. |
| encoding | string Example: encoding=utf8 Kódování znaků může mít hodnoty utf8 nebo win1250. Pokud není hodnota vyplněna, je hodnota parametru defaultně ve formátu utf8. |
| test | boolean Example: test=false Pokud je hodnota true, vrátí ukázkový CSV soubor ve formátu ZIP. |
| authorization required | string Autorizační hlavička je ve tvaru: |
# You can also use wget curl -X GET https://payments.comgate.cz/v2.0/aboDownload/date/{date} \ -H 'Authorization: Basic MTIzNDU2Omd4NHE4T1YzVEp0Nm5vSm5maGpxSkt5WDNaNlljaDB5'