Tokenizace - csob/platebnibrana GitHub Wiki
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šší).