API metódy platby (1.0)
create
Prístup je chránený validáciou IP adresy a integrita odovzdávaných dát je zabezpečená použitím HTTPS protokolu.
Server platobnej brány zodpovedá len v prípade, že je platba zakladaná na pozadí. Všetky parametre sú 'urlencoded', rovnako ako v prípade HTTP requestu. Ak je platba založená presmerovaním, potom server platobnej brány rovno presmeruje Platiteľ na príslušnú URL alebo zobrazí chybové hlásenie.
Výber platobnej metódy
V rámci nákupného procesu v e-shope je možné zobraziť plátcovi výber platebných metód a na základe jeho výberu založiť platbu s konkrétnou metódou. V momente, keď je plátcovi zobrazená platobná brána, automaticky sa zobrazí predom vybraná platobná metóda. Nastavenie vybranej platobnej metódy je možné vyplnením parametra 'method'. Prostredníctvom tohto parametra je možné platobné metódy aj rôzne filtrovať.
Viac tu: https://apidoc.comgate.cz/sk/metody-platebni-brany/
Predautorizácia
Platobná brána umožňuje zadávať, potvrdzovať a rušiť predautorizácie platieb kartou. Založenie platby sa uskutočňuje štandardne, len je potrebné uviesť parameter 'preauth = true'. Potom platca prejde rovnakým procesom ako v prípade normálnej platby. Potom, čo zadá svoje údaje na platobnej bráne, je na jeho platobnej karte rezervovaná príslušná suma. Podľa výsledku tejto operácie prechádza buď do zvláštneho stavu Authorized, alebo v prípade zamietnutia do stavu CANCELLED. Tento stav je ohlásený na pozadí obvyklým postupom opísaným vyššie.
Aby boli peniaze skutočne strhnuté, vyvolá e-shop funkciu na potvrdenie predautorizácie. Ak sa peniaze majú uvoľniť (napr. nie je možné naplniť podmienky kúpnej zmluvy), vyvolá funkciu na zrušenie predautorizácie.
Presmerovanie
Pre zakladanie platby presmerovaním použite endpoint /v2.0/paymentRedirect/merchant/{merchant_id}, s rovnakými parametrami ako pri základnej create.
UPOZORNENIE
Adresa URL a štruktúra kódu platby sa môže zmeniť. Vždy používajte adresu vrátenú rozhraním API a nemanipulujte s ňou. Ak chcete platobný kód uložiť, použite parameter transId. Nikdy neparazitujte na údajoch z konkrétnych pozícií v texte, tie sa tiež môžu zmeniť.
Všetky hodnoty obsahujúce špeciálne znaky musia byť v UTF-8.
header Parameters
authorization required | string Autorizačná hlavička je v tvare:: 'Authorization: Basic [base64_encode(merchant:secret)]'. Merchant je identifikátor e-shopu v systéme Comgate - nájdete v Klientskom portáli v sekcii Nastavenie obchodov - Prepojenie obchodu. Secret je heslo. |
Request Body schema: application/json
Vytvorenie novej platby
test | boolean Default: true Hodnota 'true' znamená, že platba bude založená ako testovacia, hodnota 'false' znamená produkčnú verziu. Ak parameter chýba, založí sa platba ako produkčná. |
country | string Možné hodnoty: ALL, 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. Ak parameter chýba, použije sa automaticky 'CZ'. Parameter slúži na obmedzenie výberu platobných metód na platobnej bráne. Je potrebné aby bola zvolená správna kombinácia parametrov 'country' a 'curry' (mena) pre daný región. Napríklad na zobrazenie českých tlačidiel a platby kartou v mene CZK zvoľte kombináciu country = CZ a curry = CZK. Pri slovenských bankových tlačidlách a platbe kartou v EUR zvoľte country = SK a curry = EUR. Pre poľské bankové tlačidlá a platbu kartou v PLN zvoľte country = PL a curry = PLN. Pre ostatné cudzie meny môžete použiť parameter country = ALL alebo ďalší kód krajiny, ktorý platobná brána prijíma. |
price required | integer <int32> Cena za výrobok v centoch alebo halieroch. Pre menu HUF nemôžete zadať cenu s desatinnými miestami. V tomto prípade musí cena vždy končiť 00. |
curr required | string Kód meny podľa ISO 4217. K dispozícii sú meny: EUR, CZK, PLN, HUF, USD, GBP, RON, NOK, SEK. |
label required | string Krátky opis produktu (1-16 znakov) - podľa tejto položky je možné filtrovať platby v Klientskom portáli. |
refId required | string Parameter vhodný na zadanie variabilného symbolu alebo čísla objednávky na strane Klienta (nemusí byť unikátne, tzn., že možno založiť viac platieb s rovnakým refid). V Klientskom portáli a denným csv. je parameter označený ako ID Klienta. |
method required | string Metóda platby z tabuľky platobných metód, hodnota 'ALL' v prípade, že si má metódu vybrať platiteľa alebo jednoduchý výraz s výberom metód. |
account | string Identifikátor bankového účtu Klienta, na ktorý Comgate prevedie peniaze. Ak parameter nevyplníte, použije sa predvolený účet Klienta. Zoznam účtov Klienta nájdete na https://portal.comgate.cz/. |
email required | string Kontaktný email platiteľa. Povinný je len jeden z údajov, emailová adresa alebo telefónne číslo. |
phone required | string Telefónne číslo platiteľa v medzinárodnom formáte +420777112233. Povinný je len jeden z údajov, emailová adresa alebo telefónne číslo. |
fullName required | string Meno a priezvisko plátcu, napr. Josef Novák. |
billingAddrCity | string Fakturačná adresa - mesto. (napr. Hradec Králové). |
billingAddrStreet | string Fakturačná adresa - ulica. (napr. Jiráskova 115). |
billingAddrPostalCode | string Fakturačná adresa - PSČ. (napr. 50304). |
billingAddrCountry | string Fakturačná adresa - krajina, vo formáte ISO 3166 alpha-2 (napr. CZ, SK, US, GB). |
delivery | string Spôsob doručenia - jedna z dostupných možností: HOME_DELIVERY, PICKUP, ELECTRONIC_DELIVERY. Možnosť PICKUP zahŕňa všetky miesta na vyzdvihnutie, vyzdvihovacie boxy, atď. |
homeDeliveryCity | string Doručovacia adresa - mesto. Vyplňuje sa len v prípade delivery=HOME_DELIVERY (napr. Hradec Králové). |
homeDeliveryStreet | string Doručovacia adresa - ulica. Vyplňuje sa len v prípade delivery=HOME_DELIVERY (napr. Štefanikova 421). |
homeDeliveryPostalCode | string Doručovacia adresa - PSČ. Vyplňuje sa len v prípade delivery=HOME_DELIVERY (napr. 50341). |
homeDeliveryCountry | string Doručovacia adresa - krajina, vo formáte ISO 3166 alpha-2. Vyplňuje sa len v prípade delivery=HOME_DELIVERY (napr. CZ, SK, US, GB). |
category | string Kategória produktu v košíku - jedna z dostupných možností, ktorá najlepšie opisuje košík: PHYSICAL_GOODS_ONLY, OTHER. Možnosť OTHER zahŕňa darčekové karty, poukážky alebo služby. |
name | string Identifikátor produktu - táto položka sa nachádza v dennom csv. Klienta pod názvom Produkt. |
lang | string Kód jazyka (ISO 639-1), v ktorom budú Platiteľovi zobrazené inštrukcie na dokončenie platby, štandardne povolené hodnoty ('bg', 'cs', 'da', 'de', 'el', 'en', 'es', 'et', 'fi', 'fr', 'hr', 'hu', 'it', 'lt', 'lv', 'nl', 'no', 'pl', 'pt', 'ro', 'si', 'sk', 'sv', 'vi'), ak parameter chýba, použije sa 'cs' v prípade požiadavky na ďalší jazyk, kontaktujte podpora@comgate.cz. |
preauth | boolean V prípade požiadavky na predautorizáciu platby kartou nastavte na 'true'. V prípade normálnej platby vyplňte 'false' alebo parameter nepoužívajte. Len na platby kartou. |
initRecurring | boolean Príznak pre založenie iniciačnej transakcie pre opakované platby. Len pre Klientov, ktorí majú službu povolenú. |
verification | boolean Parameter overovacej platby, v prípade požiadavky na založenie overovacej platby (hodnota 'true') nie je nutné posielať parameter '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. |
url_paid | string Posamezne nastavitve za posamezna plačila. Na primer: 'https://www.example.com/result.php?id=${id}&refId=${refId}' |
url_cancelled | string Posamezne nastavitve za posamezna plačila. Na primer: 'https://www.example.com/result.php?id=${id}&refId=${refId}' |
url_pending | string Posamezne nastavitve za posamezna plačila. Na primer: 'https://www.example.com/result.php?id=${id}&refId=${refId}' |
Responses
Response Schema: application/json
code required | integer Návratový kód metódy a opis chyby: |
message required | string |
transId | string Unikátny alfanumerický identifikátor (kód) transakcie, ktorý bude zobrazený Platiteľmi v rôznych fázach platby. |
redirect | string URL stránka, kam má byť Platiteľ presmerovaný na realizáciu platby. |
Request samples
- Payload
- cURL
- PHP
- Java
- Python
- C#
{- "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"
}
Response samples
- 200
{- "code": "0",
- "message": "OK",
- "transId": "AB12-CD34-EF56",
}
cancel
Storno platby
V prípade, že bola objednávka v e-shope stornovaná a transakcia nemá byť platcom dokončená, je možné využiť storno platby. Na rozdiel od refundácie musí byť platba v stave očakávaná (pending).
Vzhľadom na rýchlosť zaplatenia platieb môže byť platba už v stave zaplatená, v takom prípade sa zobrazí chyba a je nutné využiť metódu refundácie.
path Parameters
transId required | string unikátny alfanumerický identifikátor (kód) transakcie (transactionId) |
header Parameters
authorization required | string Autorizačná hlavička je v tvare:: 'Authorization: Basic [base64_encode(merchant:secret)]'. Merchant je identifikátor e-shopu v systéme Comgate - nájdete v Klientskom portáli v sekcii Nastavenie obchodov - Prepojenie obchodu. Secret je heslo. |
Responses
Response Schema: application/json
code required | integer návratový kód metódy a opis chyby: |
message required | string |
Request samples
- cURL
- PHP
- Java
- Python
- C#
# You can also use wget curl -X DELETE https://payments.comgate.cz/v2.0/payment/transId/BBBB-CCCC-DDDD.json \ -H 'Authorization: Basic MTIzNDU2Omd4NHE4T1YzVEp0Nm5vSm5maGpxSkt5WDNaNlljaDB5'
Response samples
- 200
{- "code": "0",
- "message": "OK"
}
recurring
Opakované platby, zapamätanie kartových údajov
Platobná brána umožňuje zadávanie opakovaných platieb, t.j. platieb na jedno kliknutie. Prvá (iniciačná) platba sa uskutočňuje štandardným procesom s presmerovaním na platobnú bránu, nasledujúce platby sa už uskutočňujú kompletne na pozadí. Systém tak umožňuje platcovi zaplatiť v priebehu niekoľkých sekúnd bez nutnosti vypĺňať informácie o platobnej karte.
Táto funkcia je dostupná na vyžiadanie. V prípade opakovaných platieb na začiatku zakladáme iniciačnú platbu, ktorá sa zakladá ako bežná platba, len sa v požiadavke nachádza navyše parameter 'initRecurring' - metóda create. Následné opakované platby sú už zakladané metódou recurring a sú viazané na Comgate ID iniciačnej transakcie. Toto ID musí byť v systéme Klienta viazané na konkrétneho Platiteľa.
Po založení opakovanej platby nedochádza k presmerovaniu platcu na platobnú bránu, pretože celý proces sa uskutočňuje na pozadí, Klientovi je len odovzdaný stav založenia platby a ten následne zobrazí tento stav platcovi.
Nasledujúce opakované platby
Založenie druhej a nasledujúcej opakované platby do platobnej brány je možné len pri akceptácii kariet pre e-shopy, ktoré majú službu povolenú. Prvá (iniciačná) platba sa uskutočňuje štandardnou cestou (pozri Založenie platby). Proces založenia druhej a každej ďalšej platby sa uskutočňuje kompletne na pozadí, tieto platby sú viazané na iniciačné cez Comgate ID iniciačné platby. Toto ID sa musí nachádzať v požiadavke v parametri 'initRecurringId'. Platiteľovi je v systéme e-shopu ako výsledok zobrazený stav platby.
Všetky parametre sú urlencoded, rovnako ako v prípade HTTP requestu na založenie štandardnej platby. V odpovedi sa nachádza parameter 'code', podľa ktorého e-shop určí, aký výsledok zobrazí platcovi. code = 0 znamená úspech, platba bola vytvorená a zaplatená, akýkoľvek iný kód znamená chybu a teda nezaloženie platby.
Rekurentné platby (recurring)
Rekurentné platby, tzn. opakované platby s vopred zadefinovanou sumou a periódou (napr. mesačné, týždenné apod.) je možné realizovať pomocou služby Opakované platby, ktorá je opísaná v predchádzajúcich odsekoch.
Testovacie opakované platby (okrem iniciačných) vytvorené pomocou e-mailu 'recurring.cancelled@comgate.cz' budú automaticky označené ako CANCELLED (nezaplatené)
header Parameters
authorization required | string Autorizačná hlavička je v tvare:: 'Authorization: Basic [base64_encode(merchant:secret)]'. Merchant je identifikátor e-shopu v systéme Comgate - nájdete v Klientskom portáli v sekcii Nastavenie obchodov - Prepojenie obchodu. Secret je heslo. |
Request Body schema: application/json
test | boolean Hodnota 'true' znamená, že platba bude založená ako testovacia, hodnota 'false' znamená, že platba bude založená ako produkčná verzia. Ak parameter chýba, založí sa platba ako produkčná. |
price required | string Cena za výrobok v centoch alebo halieroch. Musí byť min. 10 CZK (vrátane), max. neobmedzene. |
curr required | string kód meny podľa ISO 4217, štandardne 'CZK' |
label required | string krátky opis produktu (1 – 16 znakov) |
refId required | string Referencia platby v systéme e-shopu (nemusí byť unikátna, tzn., že možno založiť viac platieb s rovnakým refid). |
account | string Identifikátor bankového účtu e-shopu, na ktorý Comgate prevedie peniaze. Ak parameter nevyplníte, použije sa predvolený účet e-shopu. Zoznam účtov e-shopu nájdete na https://portal.comgate.cz/ |
name | string Identifikátor produktu - podľa tejto položky je potom možné sa zorientovať v štatistikách platieb Comgate platobného systému. |
initRecurringId required | string Comgate ID iniciačnej platby |
Responses
Response Schema: application/json
code required | integer Návratový kód metódy a opis chyby: |
message required | string |
transId | string unikátny alfanumerický identifikátor (kód) transakcie, ktorý bude zobrazený Platiteľmi v rôznych fázach platby |
Request samples
- Payload
- cURL
- PHP
- Java
- Python
- C#
{- "test": true,
- "price": "10000",
- "curr": "CZK",
- "label": "string",
- "refId": "2010102600",
- "account": "string",
- "name": "string",
- "initRecurringId": "AB12-CD34-EF56"
}
Response samples
- 200
{- "code": "0",
- "message": "OK",
- "transId": "string"
}
refund
Refundácia platby
Metóda pre refundáciu je určená pre už založené a preplatené platby. Stav platby musí byť zaplatená (paid). Je možné vykonať ako čiastočnú (refundovaná suma je nižšia ako suma platby), tak plnú refundáciu (suma refundácie je rovnaká ako suma platby). Daná čiastka bude prevedená späť na účet platiteľa.
Ak platba nebola dokončená a je v stave pending, je možné využiť metódu storno platby.
header Parameters
authorization required | string Autorizačná hlavička je v tvare:: 'Authorization: Basic [base64_encode(merchant:secret)]'. Merchant je identifikátor e-shopu v systéme Comgate - nájdete v Klientskom portáli v sekcii Nastavenie obchodov - Prepojenie obchodu. Secret je heslo. |
Request Body schema: application/json
Vrátenie platby
transId required | string unikátny alfanumerický identifikátor (kód) transakcie (transactionId) |
amount required | string |