Skip to content

Tokenizace

Ondřej Zaoral edited this page Jun 17, 2022 · 1 revision

Toto rozšíření (extension) předává v operaci payment/status údaje o tokenizaci. Tokenizace je primárně určena pro dohledávání transakcí uskutečněných stejnou platební kartou. Pokud je platba autorizována, předává se obchodníkovi parametr cardToken.

Obchodník musí mít tuto funkcionalitu na platební bráně aktivovanou. Pro aktivaci, prosím, kontaktujte [email protected].

Token

Token nahrazuje číslo platební karty klienta pro použití v systémech obchodníka tak, aby systémy obchodníka nepodléhaly PCI DSS certifikaci. Samotná hodnota tokenu je vypočtena z čísla karty a expirace. Jedná se o jednosměrnou kryptografickou operaci, nelze zpětně získat číslo karty z tokenu, délka tokenu je aktuálně 66 znaků (hex hodnota 33 B). Token - na rozdíl od čísla karty - není zneužitelný pro podvodné transakce.

Generování tokenu

Token je vracen jen pro úspěšně realizované platby, tzn. pouze v okamžiku, kdy dojde k ověření totožnosti držitele karty kladně autorizovanou platbou.

Rozšíření parametrů odpovědi operace payment/status

Nově přidaný parametr je extensions, obsahuje seznam všech předávaných rozšíření pro danou operaci. Rozšíření cardToken bude vyplněno pouze v odpovědi operace payment/status v případě, že platba je ve stavu Platba potvrzena (4) anebo ve stavu Čekání na zúčtování (7) anebo ve stavu Platba zúčtována (8).

Popis parametrů rozšíření cardToken

Tučně uvedené parametry budou vždy vráceny (jsou povinné)

Položka Typ Popis
extension String ID rozšíření (přidělené na základě konfigurace platební bránou). Pro tokenizaci bude vždy nastaveno na konstantu cardToken.
dttm String Datum a čas odpovědi ve formátu YYYYMMDDHHMMSS.
cardToken String Token platby.
signature String Podpis rozšíření, kódováno v BASE64.

Příklad doplněného response pro payment/status o rozšíření cardToken

{
  "dttm": "20220125131601",
  "payId": "ff41e84b7e33@HA",
  "resultCode": 0,
  "resultMessage": "OK",
  "paymentStatus": 7,
  "authCode": "453708",
  "signature": "base64-encoded-response-signature",
  "extensions": [
    {
      "extension": "cardToken",
      "dttm": "20220125131601",
      "cardToken": "102eb880650bbd47742de9b0282c875fb1fa9180453d04a6022030909647e9b840",
      "signature": "base64-encoded-extension-signature"
    }
  ]
}

Řetězec pro výpočet nebo pro ověření podpisu je pro toto rozšíření seskládaný v pořadí, v jakém jsou položky uvedeny ve specifikaci (viz výše).

cardToken|20220125131601|102eb880650bbd47742de9b0282c875fb1fa9180453d04a6022030909647e9b840

Poznámka: Podpis původních parametrů je nezměněn, položka entensions obsahující seznam jednotlivých posílaných rozšíření nijak nezasahuje do výpočtu původního podpisu zprávy, každé rozšíření má svůj vlastní podpis.

Pro podepisování / ověření podpisu rozšíření je použit stejný algoritmus (SHA1withRSA pro eAPI 1.7 a nižší, nově pak SHA256withRSA pro eAPI 1.8 a vyšší).

Clone this wiki locally