FiskalPRO logo

FiskalPRO technical documentation

EN SK CZ swagger

Dokumentácia SK

Tento dokument popisuje integráciu FiskalPRO platobnej brány. Je určený pre vývojárov..

Pre rýchlu integráciu je k dispozícii aj dokumentácia swagger, ktorá je dostupná pre vývojárov.

Registrácia obchodníka

Každý obchodník musí mať vytvorený prístup do portálu FiskalPRO. Na umožnenie komunikácie s platobnou bránou je dôležité špecifikovať informácie o účte obchodníka. Tieto údaje sú použité pri všetkých budúcich platobných transakciách.

Komunikácia s platobnou bránou je jednoduchá. Je potrebné poslať všetky povinné polia na platobnú bránu pomocou JSON reťazca na definovaný endpoint.

Všetky potrebné endpointy budú špecifikované pre každého obchodníka v zmluve.

Autentifikácia

API používa Bearer token na autorizáciu obchodníka. Je potrebný na vytváranie akýchkoľvek platieb. Je zahrnutý v hlavičke požiadavky.

Každá platba má svoj vlastný prístupový token, ktorý je vytvorený po vytvorení požiadavky na platbu.

Testovacie karty

Tieto karty (Mastercard) sú dostupné na testovacie účely:

Číslo karty Expirácia CVV OTP kód Popis
5169271104996403 1227 123 MC Frictionless
5306889942833340 1227 123 1234 MC Challenge
5555555555554444 1226 Google Pay

Životný cyklus platby

  1. Žiadosť o platbu. Prehliadač držiteľa karty odošle žiadosť o platbu za jeho objednávku kartou obchodníkovi.
  2. Vytvorenie platby. Obchodník odošle žiadosť o vytvorenie platobnej transakcie do FiskalPay.
  3. Presmerovacia URL s kódom. FiskalPay odošle presmerovaciu URL s kódom späť obchodníkovi.
  4. Presmerovacia URL. Obchodník presmeruje prehliadač držiteľa karty na novú platbu.
  5. Platba dokončená. IFrame sa zavrie.
  6. Oznámenie o platbe. Poskytovateľ odošle oznámenie o platbe do FiskalPay vrátane stavu platby.
  7. Oznámenie obchodníkovi. FiskalPay oznámi obchodníkovi stav platby. Oznámenie o stave platby
  8. Získanie stavu platby. Prehliadač držiteľa karty odošle žiadosť o stav platby do FiskalPay.
  9. Stav platby. FiskalPay odošle stav platby do prehliadača držiteľa karty.

Spracovanie platby

Povinným poľom je Bearer token. Tento token obchodník získa počas registrácie.

Získajte prístupový kód a vytvorte platbu.

Platba môže byť realizovaná dvoma spôsobmi (paymentType).

Priama - prehliadač je presmerovaný na URL, kde si používateľ môže vybrať platobnú metódu a vyplniť potrebné údaje.

Email - viz Platba emailem (Pay By Link).

Po správnom odoslaní žiadosti o platbu je zákazník presmerovaný na platobnú bránu FiskalPRO.

Existujú tri spôsoby, ako môžu používatelia zaplatiť:

Obrázok: UI platobnej brány - výber platobnej metódy

Keď chce používateľ z nejakého dôvodu zaplatiť neskôr, je tu možnosť zaplatiť cez platobný odkaz, ktorý je odoslaný na email používateľa.

Obrázok: Platba cez odkaz z emailu

Na konci platby prehliadač dostane oznámenie o stave platby a presmeruje sa na webovú stránku obchodníka.

Stav platby a platnosť

Pre stav platby pozri MerchantPaymentStatus
Platnosť platby funguje nasledovne podľa typu platby (Defaultné hodnoty sú uvedené pre prípad chybného nastavenia):

Priama platba: Platnosť je nastavená na 5 minút. (Defaultne 5 minút)

Platba emailom: Pre emailovú platbu sa použije hodnota zaslaná v parametri EmailTtl. Ak táto hodnota nie je špecifikovaná, použije sa hodnota z konfigurácie 24h (Defaultne 24 hodín). Maximálna hodnota platnosti je 31 dní. (Defaultne 31 dní)

Pre ostatné typy platieb: Hodnota je nastavená na 5 minút.

Platnosť nie je presná hodnota ale skôr časové rozmedzie Pri priamej platbe získa užívateľ ešte dodatočný čas 5 minút v UI pre vyhotovenie platby z jeho strany. Ďalej sa kontrola platnosti platieb odohráva v cykloch. Preto je potrebné brať do úvahy, že vyššie spomínané hodnoty platnosťou sú časové údaje "minimálnej" platnosti a skutočná môže byť viac.

Platby

Štandardné platby

Zákazníci musia odoslať objekt PaymentCreateRequestData ako žiadosť o vytvorenie platby.
Odpoveď na platbu je odoslaná po prijatí žiadosti o platbu. Odpoveď obsahuje URL adresu platobnej brány, na ktorú musia byť zákazníci presmerovaní.

Platba emailom (Pay By Link)

Platba emailom je špeciálny druh platby. Je vygenerovaná nová URL platby, ktorú je možné zaslať zákazníkovi. V žiadosti o vytvorenie platby je potrebné nastaviť parameter "paymentType" na hodnotu "email" a zadať hodnotu emailTtl viď. Žiadosť o platbu. Má dlhšiu dobu platnosti ako priama platba viď. Stav platby a platnosť.

Platba kartou

Nižšie je obrázok platobnej brány FiskalPRO, kde zákazníci vyplnia všetky potrebné údaje pre úspešnú platbu kartou.

Obrázok: UI platobnej brány - platba kartou

Tu zákazník vyplní povinné polia potrebné pre úspešnú platbu. V pravom hornom rohu je podpora šiestich jazykov - angličtina, čeština, slovenčina, poľština, maďarčina, rumunčina.

Zákazník musí vyplniť tieto polia:

Je tu tiež možnosť uložiť kartu pre ďalšie použitie.

Platba cez GooglePay

Nasledujúci obrázok ukazuje obrazovku, keď používateľ vyberie platbu cez GooglePay. Obrázok: Platba cez GooglePay Obrázok: GooglePay UI

Platba cez ApplePay

Nasledujúci obrázok ukazuje obrazovku, keď používateľ vyberie platbu cez ApplePay. Obrázok: Platba cez ApplePay Obrázok: ApplePay UI

Opakované platby

Opakované platby je špeciálny typ platieb, pre ktorý sa postupuje rovnako ako pri zakladaní normálnej platby, akurát s rozdielom, že request na založenie platby obsahuje špeciálne dáta.

Pri založení prvej platby sa platba ihneď vykoná a nastaví sa scheduler, ktorý naplánuje ďalšie opakovanie platby. Presný čas a deň založenia opakovanej platby je dôležitý, pretože z neho sa počítajú ďalšie opakovania.

Body requestu pre založenie platby musia obsahovať klasické povinné dáta pre bežnú platbu obohatené o nasledujúce:

"paymentType" : "Recurrent"

"Recurrence" objekt

Key Typ M/O Hodnota
period string M číselnou hodnotou počet jednotiek zvolených v cycle
cycle string M jednotka opakovania -> day, week, month. Pozn: pre month funguje nastavenie tak, že sa platba opakuje vždy v rovnaký deň v mesiaci v akom bol založený scheduler a period hodnota hovorí po koľkých mesiacoch sa má opakovať
dateTo string M dátum vo formáte "YYYY-MM-DD", do ktorého scheduler opakuje platby, ak je by ďalšie opakovanie platby bolo v rovnaký deň alebo po dateTo, tak sa platba nevykoná

Po každom vykonaní platby by sa mala odoslať merchantu notifikácie s detailmi o stave vykonanej platby viď Oznámenie o stave platby

Príklad

{

  "paymentType": "recurrent",

  "Recurrence":
  {
      "period":"1",

      "cycle":"day",

      "dateTo":"2026-10-11"
  }
}

API referencie

Skratky :

Platobné operácie

Žiadosť o platbu

Vytvorenie žiadosti o platbu
[ POST ] `/api/merchant/payment/create`

Hlavičky žiadosti o platbu

Key Typ M/O Value
Authorization string M Bearer token
Content-Type string M application/json
Accept string M application/json

Telo žiadosti o platbu objekt PaymentCreateRequestData

Parameter Typ M/O/C Max Popis
merchantPaymentId string M 36 ID platby obchodníka.
language string O 36 Použitý jazyk.
paymentType enum O PaymentReferenceType
emailTtl string O Ttl hodnota pre 'paymentType' email v tvare XY, kde X je celočíselná hodnota a Y je buď "h" ako hodín alebo "d" ako dní. Pokiaľ sa Y hodnota nešpecifikuje, tak sa nastaví defaultne "d". Pokiaľ by tento atribút nebol vyplnený, tak sa defaultne použije hodnota v konfigurácii. Ak by hodnota nebola nakonfigurovaná, tak sa nastaví defaultná hodnota 24 hodín. Max. hodnota je 31 dní. Príklad hodnoty: "22h" alebo "14d", alebo "11".
message string O 128 Vlastná správa pre klienta.
amount string M 12 Požadovaná suma v mene zdrojového miesta transakcie. Desatinná čiarka je zahrnutá podľa hodnoty v údajoch o mene. Suma je uvedená v najmenších menových jednotkách - 1,50 je uvedené ako 150.
orderNo string M 16 Číslo objednávky.
basket object M Údaje o basket zákazníka.
customer object M Cardholder dáta.
redirectUrl string M 1024 URL adresa na presmerovanie zákazníka po dokončení platby. Minimálna dĺžka je 16.
userId GUID O 1024 ID používateľa pre možnosť uloženia karty na bráne.
token GUID C 1024 Platobný token. Povinný pre typ platby OnDemand.
recurrence object O Špecifikácie nastavení pre opakovanú platbu viď Opakované platby
pluginDetail string O 100 Podrobné informácie z pluginu.

Jednoduchý príklad žiadosti o platbu:

{
  "merchantPaymentId": "{{payment-guid}}",
  "amount": "123",
  "orderNo": "123456",
  "basket": {
    "header": {
      "documentNumber": "abc123"
    },
    "payments": [
      {
        "paymentId": 2,
        "value": 123
      }
    ],
    "customer": {
      "customerNumber": "58633",
      "cardNumber": "495978",
      "externalUId": "668855"
    },
    "items": [
      {
        "name": "Test item",
        "vatRate": 0.21,
        "quantity": 2,
        "measureUnit": "ks",
        "originalUnitPrice": 20.5,
        "unitPrice": 23.5,
        "priceTotal": 47,
        "priceVatBaseTotal": 40,
        "priceVatTotal": 7,
        "itemRounding": 0
      }
    ]
  },
  "customer": {
    "cardholderName": "Tester Name",
    "email": "{{cardholder email}}"
  },
  "redirectUrl": "https://example.com/merchant-notify-url"
}

Kompletný príklad žiadosti o platbu:

{
    "merchantPaymentId": "{{payment-guid}}",
    "language": "cs-CZ",
    "paymentType" : "email",
    "emailTtl" : "31",
    "message" : "some message",
    "amount": "123",
    "orderNo": "123456",
    "token:": "4ed8df5d-9cc4-42a0-9e86-5405492bb3b9",
    "token:": "6a4ee8f2-1636-4f22-a7a9-635d7e9217b5",
    "basket": {
        "header": {
            "documentNumber": "abc123",
            "reference": "123456",
            "rounding": 0,
            "text1": "some text 1",
            "text2": "some text 2",
            "text3": "some text 3"
        },
        "payments": [{
            "paymentId": 2,
            "value": 123,
            "description": "payment description"
        }],
        "customer": {
            "customerNumber": "58633",
            "cardNumber": "495978",
            "externalUId": "668855"
        },
        "items": [{
            "article": "Item 558"
            "chr1": "XL",
            "chr2": "black",
            "ean": "item bar code",
            "name": "Test item",
            "vatRate": 0.21,
            "quantity": 2,
            "measureUnit": "ks",
            "originalUnitPrice": 20.5,
            "unitPrice": 23.5,
            "priceTotal": 47,
            "priceVatBaseTotal": 40,
            "priceVatTotal": 7,
            "itemRounding": 0,
            "externalUId": "Ext Id",
            "text1": "some text",
            "textLong1": "some long text"
        }]
    },
    "customer": {
        "cardholderName": "Tester Name",
        "mobilePhone": {
            "cc": "420",
            "subscriber": "777123123"
        },
        "homePhone": {
            "cc": "420",
            "subscriber": "534123123"
        },
        "workPhone": {
            "cc": "420",
            "subscriber": "778123123"
        },
        "billAddrLine1": "Testing street 51/17",
        "billAddrLine2": "second floor",
        "billAddrLine3": "flat no. 5",
        "billAddrPostCode": "15000",
        "billAddrCity": "Praha",
        "billAddrState": "10",
        "billAddrCountry": "203",
        "email": "{{cardholder email}}",
        "shipAddrLine1": "Testing street 51/17",
        "shipAddrLine2": "second floor",
        "shipAddrLine3": "flat no. 5",
        "shipAddrPostCode": "15000",
        "shipAddrCity": "Praha",
        "shipAddrState": "10",
        "shipAddrCountry": "203"
    },
    "redirectUrl": "https://example.com/merchant-notify-url"
}

Platba Na požiadanie

Pri prvej žiadosti o platbu musíte vytvoriť platbu s typom OnDemand Po dokončení platby zákazníkom sa token získa požiadaním o stav platby. Pri následných platbách odošlete token v žiadosti o platbu, ID platby bude vrátené, ale presmerovacia URL už nebude. Platba prebehne bez interakcie zákazníka. Po dokončení platby budete upozornení rovnako ako pri štandardnej platbe.

Prvá žiadosť o platbu OnDemand:

{
  "merchantPaymentId": "{{payment-guid}}",
  "amount": "123",
  "orderNo": "123456",
  "paymentType": "OnDemand",
  "basket": {
    "header": {
      "documentNumber": "abc123"
    },
    "payments": [
      {
        "paymentId": 2,
        "value": 123
      }
    ],
    "customer": {
      "customerNumber": "58633",
      "cardNumber": "495978",
      "externalUId": "668855"
    },
    "items": [
      {
        "name": "Test item",
        "vatRate": 0.21,
        "quantity": 2,
        "measureUnit": "ks",
        "originalUnitPrice": 20.5,
        "unitPrice": 23.5,
        "priceTotal": 47,
        "priceVatBaseTotal": 40,
        "priceVatTotal": 7,
        "itemRounding": 0
      }
    ]
  },
  "customer": {
    "cardholderName": "Tester Name",
    "email": "{{cardholder email}}"
  },
  "redirectUrl": "https://example.com/merchant-notify-url"
}

Druhá žiadosť o platbu OnDemand - bez interakcie zákazníka:

{
  "merchantPaymentId": "{{payment-guid}}",
  "amount": "123",
  "orderNo": "123456",
  "paymentType": "OnDemand",
  "token": "4ed8df5d-9cc4-42a0-9e86-5405492bb3b9",
  "basket": {
    "header": {
      "documentNumber": "abc123"
    },
    "payments": [
      {
        "paymentId": 2,
        "value": 123
      }
    ],
    "customer": {
      "customerNumber": "58633",
      "cardNumber": "495978",
      "externalUId": "668855"
    },
    "items": [
      {
        "name": "Test item",
        "vatRate": 0.21,
        "quantity": 2,
        "measureUnit": "ks",
        "originalUnitPrice": 20.5,
        "unitPrice": 23.5,
        "priceTotal": 47,
        "priceVatBaseTotal": 40,
        "priceVatTotal": 7,
        "itemRounding": 0
      }
    ]
  },
  "customer": {
    "cardholderName": "Tester Name",
    "email": "{{cardholder email}}"
  },
  "redirectUrl": "https://example.com/merchant-notify-url"
}
Požiadavka na informácie o platbe

[ POST ] /api/merchant/payment/info

Telo požiadavky na informácie o platbe objekt PaymentInfoRequestData

Parameter Typ M/O Popis
paymentId Guid M ID platby.

Príklad požiadavky na informácie o platbe:

{
    "paymentId": {{payment-guid}}
}
Odpoveď na vytvorenie platby

Telo odpovede na vytvorenie platby objekt PaymentCreateResponse

Parameter Typ M/O Popis
paymentId Guid M ID platby.
redirectUrl string O Presmerovacia URL.

Príklad odpovede na vytvorenie platby (priama):

{
  "paymentId": "18c18413-2b2e-4b98-b08a-442a39b479b1",
  "redirectUrl": "https://staging.fiskalpay.eu/?code=d8d16d82-eb5c-48dc-8cf7-add9e67f23f3"
}

Príklad odpovede na vytvorenie platby (email):

{
  "paymentId": "33ef6c57-df28-40cf-9395-9b03fa048cfe",
  "redirectUrl": "https://staging.fiskalpay.eu/?key=fpk0431b3ff5be374876af50ae7ac283cd0bab2cea077482c130731fd4d5b8e5b7f435f5ef23ca80d2be871468bb98bfc209"
}

Príklad odpovede na vytvorenie platby (OnDemand) - prvá:

{
  "paymentId": "18c18413-2b2e-4b98-b08a-442a39b479b1",
  "redirectUrl": "https://staging.fiskalpay.eu/?code=d8d16d82-eb5c-48dc-8cf7-add9e67f23f3"
}

Príklad odpovede na vytvorenie platby (OnDemand) - ďalšia:

{
  "paymentId": "33ef6c57-df28-40cf-9395-9b03fa048cfe",
  "redirectUrl": null
}
Odpoveď na informácie o platbe

Telo odpovede na informácie o platbe object PaymentInfoResponse

Parameter Typ M/O Popis
status enum M MerchantPaymentStatus
errorMessage string O Chybová správa, ak existuje
token guid O Token platby pre platbu OnDemand

Objekty

Košik

Parameter Typ M/O Popis
header object M BasketHeader dáta.
payments collection O Kolekcia objektov BasketPayment. sa používa iba v prípade, že platba bola uskutočnená aj iným spôsobom než kartou. Transakcie uskutočnené kartou sa automaticky ukladajú. V prípade manuálneho pridania budú transakcie zdvojené.
customer object M BasketCustomer dáta.
items collection M Kolekcia objektov BasketItem.

BasketHeader

Parameter Typ M/O Max Popis
documentNumber string M 20 Číslo dokumentu.
reference string O 10 Referenčný variabilný symbol. Dostupný formát reťazca a-zA-Z0-9
rounding double O Hodnota zaokrúhľovania dokumentu.
text1 string O 200 Voliteľný text č. 1
text2 string O 200 Voliteľný text č. 2
text3 string O 200 Voliteľný text č. 3

BasketPayment

Parameter Typ M/O Max Popis
paymentId short M Identifikátor platby. PaymentId
description string O 42 Popis platby.
value double M Hodnota platby.

BasketCustomer

Parameter Typ M/O Max Min Popis
customerNumber string O 20 1 Číslo zákazníka.
cardNumber string O 32 1 Číslo zákazníkovej karty.
externalUId string O 40 1 Externé ID zákazníka (z externého SW).

BasketItem

Parameter Typ M/O Max Popis
article string O 14 Číslo položky
chr1 string O 20 Charakteristika položky č. 1 (veľkosť, farba, atď.)
chr2 string O 20 Charakteristika položky č. 2 (veľkosť, farba, atď.)
ean string O 20 Čárový kód položky (EAN)
name string M 128 Názov položky
vatRate decim M Sadzba DPH položky
quantity decim M Množstvo položky
measureUnit enum M BasketItemMeasureUnit
originalUnitPrice double M Pôvodná cena položky (pred zľavami, atď.)
unitPrice double M Jednotková cena položky
priceTotal double M Celková cena položky (jednotková cena * množstvo)
priceVatBaseTotal double M Celková základná cena DPH položky (daňový základ)
priceVatTotal double M Celková hodnota DPH položky (rozdiel medzi celkovou cenou a daňovým základom)
itemRounding double M Hodnota zaokrúhľovania položky
externalUId string O 50 Externé ID položky (z externého SW)
text1 string O 256 Voliteľný text č. 1
textLong1 string O Voliteľne dlhý text č. 1. Bez obmedzenia dĺžky.

CardHolder

Parameter Typ M/O Max Popis
cardholderName string M 50 Meno držiteľa karty.
mobilePhone object O Mobilný telefón poskytnutý držiteľom karty. CardHolderPhoneNumber
homePhone object O Domáci telefón poskytnutý držiteľom karty. CardHolderPhoneNumber
workPhone object O Pracovný telefón poskytnutý držiteľom karty. CardHolderPhoneNumber
billAddrLine1 string O 50 Prvý riadok ulice alebo ekvivalentná miestna časť fakturačnej adresy držiteľa karty spojená s kartou použitou na tento nákup. Toto pole je voliteľné, ale odporúča sa ho zahrnúť.
billAddrLine2 string O 50 Druhý riadok ulice alebo ekvivalentná miestna časť fakturačnej adresy držiteľa karty spojená s kartou použitou na tento nákup..
billAddrLine3 string O 50 Tretí riadok ulice alebo ekvivalentná miestna časť fakturačnej adresy držiteľa karty spojená s kartou použitou na tento nákup.
billAddrPostCode string O 16 PSČ alebo iný poštový kód fakturačnej adresy držiteľa karty spojený s kartou použitou na tento nákup. Toto pole je voliteľné, ale odporúča sa ho zahrnúť.
billAddrCity string O 50 Mesto fakturačnej adresy držiteľa karty spojené s kartou použitou na tento nákup. Toto pole je voliteľné, ale odporúča sa ho zahrnúť.
billAddrState string O 3 Kraj fakturačnej adresy držiteľa karty spojené s kartou použitou na tento nákup. Hodnota by mala byť kódom krajiny podľa normy ISO 3166-2. Toto pole je voliteľné, ale odporúča sa ho zahrnúť.
billAddrCountry string O 3 Krajina fakturačnej adresy držiteľa karty spojená s kartou použitou na tento nákup. Táto hodnota by mala byť číselný kód krajiny podľa normy ISO 3166-1, s výnimkou hodnôt v rozsahu 901 - 999, ktoré sú rezervované ISO. Toto pole je voliteľné, ale odporúča sa ho zahrnúť.
email string M 256 E-mailová adresa spojená s účtom, ktorú zadal držiteľ karty alebo ktorá je uložená u 3DS žiadateľa. Toto pole musí spĺňať požiadavky oddielu 3.4 IETF RFC 5322.
shipAddrLine1 string O 50 Prvý riadok ulice alebo ekvivalentná miestna časť doručovacej adresy spojená s kartou použitou na tento nákup. Toto pole je voliteľné, ale odporúča sa ho zahrnúť.
shipAddrLine2 string O 50 Druhý riadok ulice alebo ekvivalentná miestna časť doručovacej adresy spojená s kartou použitou na tento nákup.
shipAddrLine3 string O 50 Tretí riadok ulice alebo ekvivalentná miestna časť doručovacej adresy spojená s kartou použitou na tento nákup
shipAddrPostCode string O 16 PSČ alebo iný poštový kód doručovacej adresy spojený s kartou použitou na tento nákup. Toto pole je voliteľné, ale odporúča sa ho zahrnúť..
shipAddrCity string O 50 Mesto doručovacej adresy požadované držiteľom karty. Toto pole je povinné, pokiaľ sú dodacie informácie odlišné od fakturačných informácií. Toto pole je voliteľné, ale odporúča sa ho zahrnúť.
shipAddrState string O 3 Kraj doručovacej adresy spojené s kartou použitou na tento nákup.
shipAddrCountry string O 3 Krajina doručovacej adresy požadovaná držiteľom karty. Táto hodnota by mala byť číselný kód krajiny podľa normy ISO 3166-1, s výnimkou hodnôt v rozsahu 901 - 999, ktoré sú rezervované ISO. Toto pole je povinné, ak je štát doručovacej adresy uvedený a ak sú dodacie informácie odlišné od fakturačných informácií. Toto pole je voliteľné, ale odporúča sa ho zahrnúť.

CardHolderPhoneNumber

Parameter Typ M/O Max Popis
cc string O 3 Kód krajiny telefónneho čísla. Min. dĺžka 1.
subscriber string O 15 Číslo účastníka.

Enums

PaymentReferenceType

Enumerácia:
Direct predvolený, priamy odkaz na platbu
Email odložený odkaz
Test testovanie platby a platnosti, platba nebude spracovaná
OnDemand Platba na požiadanie
Recurrent opakovaná platba

PaymentId (v objekte BasketPayment)

Possibilities:
1 hotovosť (nemožno použiť v tomto API)
2 platba kartou
3 poukaz (pravdepodobne bude použitý v budúcnosti)

BasketItemMeasureUnit

Enumeration:
Ks kus
L liter
Ml mililiter
Pár pár
G gram
Kg kilogram
Cm centimeter
M meter
Hod hodina
Hl hektoliter
Bal balenie
T tona
M2 meter štvorcový
M3 meter kubický
Dcl deciliter

MerchantPaymentStatus

Enumeration:
Created platba bola vytvorená
New počiatočný stav, odoslané na spracovanie
Authorized schválené vydavateľom
Declined neschválené vydavateľom
Reversed platba bola zrušená
Captured finančné prostriedky boli prijaté
Error chyba počas platby

Recurrence

Key Typ M/O Hodnota
period string M číselnou hodnotou počet jednotiek zvolených v cycle
cycle string M jednotka opakovania -> day, week, month. Pozn: pre month funguje nastavenie tak, že sa platba opakuje vždy v rovnaký deň v mesiaci v akom bol založený scheduler a period hodnota hovorí po koľkých mesiacoch sa má opakovať
dateTo string M dátum vo formáte "YYYY-MM-DD", do ktorého scheduler opakuje platby, ak je by ďalšie opakovanie platby bolo v rovnaký deň alebo po dateTo, tak sa platba nevykoná

Oznámenie o stave platby

Oznámenie obchodníka o stave platby sa zasiela na NotifyUrl vo forme JSON objektu obsahujúceho paymentId a status.

Telo tejto žiadosti vyzerá nasledovne:

Parameter Typ M/O Popis
PaymentId Guid M Identifikátor platby
Status string M Reťazcová hodnota MerchantPaymentStatus. Ak by stav platby bol Expired => status = Error
Description string O Reťazcová hodnota opisu pre status Expired => "Payment link expired". Inak sa hodnota nevypĺňa
StartPaymentId Guid O Identifikátor platby, ktorou bol spustený príkaz pre opakovanú platbu. Inak sa hodnota nevypĺňa

Overenie oznámenia

Pri odosielaní oznámenia o stave platby v tele žiadosti je tiež možnosť zabezpečiť autentickosť oznámenia prostredníctvom podpisu oznámenia v hlavičke žiadosti. Podpis oznámenia má kľúč Signature a jeho hodnota je hašovaný reťazec. Tento hašovaný reťazec bol vytvorený z dvoch častí: parametre objektu oznámenia z tela a ako kľúč bol použitý SignatureSalt ktorý bol automaticky vygenerovaný a vrátený v tele odpovede pri vytvorení MerchantMethodTerminal. Ak ste stratili hodnotu SignatureSalt, je možné vygenerovať novú prostredníctvom odoslania POST žiadosti na endpoint merchants/{merchantId}/methods/{methodId}/terminals/{terminalId}/regenerate.

Na overenie autentickosti oznámenia postupujte nasledovne:

  1. Vypočítajte vlastný podpis Kombinujte parametre prijatého tela oznámenia ako reťazec v tvare ${{htmlContent}}quot;{paymentId}{status}". Táto hodnota musí byť hašovaná (HMAC) pomocou algoritmu SHA256 a hodnoty SignatureSalt ako kľúča na hašovanie. Posledný krok je odstránenie znaku "-" z reťazca. Konečný výsledok by mal byť reťazec s veľkými písmenami a mal by byť dlhý 32 bajtov.

  2. Porovnanie Porovnajte vygenerovaný hašovaný kód s prijatým kódom v hlavičke žiadosti.