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 si musíte uložit, 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, jak platba na terminálu dopadla. 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, refundacemi a MOTO platbami.
authorization required | string Autorizační hlavička je ve tvaru: |
Vytvořit novou platbuVytv * orenie novej platby
price required | integer <int32> Cena za produkt v centech nebo haléřích. Například pro platbu 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., že 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,
- "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 | string Cena za produkt v centech nebo haléřích. Například pro platbu 10 CZK bude vrácena hodnota '1000'. |
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). |
# 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",
- "curr": "CZK",
- "refId": "2010102600",
- "transId": "AB12-CD34-EF56",
- "status": "PAID",
- "fee": "string",
- "cardValid": "04/28",
- "cardNumber": "string",
- "paymentErrorReason": "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é).
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 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
}
]
}