ISO 8583: Neviditelný jazyk platebních terminálů

Zatímco ISO 20022 se stává moderním globálním standardem pro bankovní převody, ISO 8583 je veteránem a tichým hrdinou, který již desítky let zajišťuje, že transakce provedené platebními kartami – ať už v bankomatech (ATM), nebo na prodejních místech (POS) – proběhnou během několika sekund. Jedná se o mezinárodní standard, který definuje formát zpráv pro výměnu informací mezi finančními institucemi týkající se transakcí, jako jsou nákupy, výběry hotovosti, dotazy na zůstatek nebo dobíjení.


Co je ISO 8583 a Kde se Používá?

ISO 8583 (celým názvem ISO 8583:1993/2003 Financial Transaction Card Originated Messages) je norma definující formát datových zpráv pro finanční transakce zahájené kartou.

Klíčové charakteristiky:

  • Určení: Primárně slouží k výměně zpráv mezi POS terminálem, akceptační bankou, kartovou sítí (např. Visa, Mastercard) a vydavatelskou bankou. Je to struktura dat, kterou komunikuje ATM a POS terminál s celým platebním systémem.
  • Optimalizace pro Rychlost: Zprávy jsou navrženy pro maximální efektivitu a nízkou latenci. Struktura je kompaktní, často binární nebo kódovaná pomocí EBCDIC/ASCII, což je rychlejší pro zpracování než rozsáhlé textové formáty typu XML.
  • Použití: Najdete ho všude, kde se používají karty:
    • POS terminály: Platba v obchodě.
    • ATM: Výběry, vklady, dotazy na zůstatek.
    • Platební brány (Payment Gateways): Platební brány často přijímají data od obchodníků ve svých vlastních formátech (často XML/JSON přes API), ale na backendu pak převádějí tyto informace do formátu ISO 8583 pro komunikaci s kartovými sítěmi a bankami. Jsou tak klíčovým převodníkem mezi „moderním webem“ a „starším, ale robustním kartovým světem“.
    • Systémy autorizace a zúčtování (Acquiring a Issuing systémy).

Jak Vypadá Zpráva ISO 8583?

Zprávy ISO 8583 jsou navrženy tak, aby byly flexibilní, ale striktně strukturované. Zpráva je rozdělena do tří hlavních částí:

1. Typ Zprávy (MTI – Message Type Indicator)

MTI je čtyřmístný numerický kód, který je naprosto klíčový. Definuje typ zprávy a funkci transakce.

Pozice Název Význam Příklad
1. Verze Verze standardu 0 (1987), 1 (1993), 2 (2003)
2. Třída zprávy Hlavní funkce zprávy 1 (Autorizace), 2 (Finanční transakce), 8 (Správa)
3. Funkce zprávy Konkrétní typ zprávy 00 (Požadavek), 10 (Odpověď), 20 (Potvrzení)
4. Původ zprávy Kdo zprávu vytvořil 1 (Z terminálu), 2 (Z banky)

Příklad MTI: 1100

  • 1 (Verze 1993)
  • 1 (Třída Autorizace)
  • 00 (Požadavek, který má být zpracován)
  • Význam: Požadavek na autorizaci platby (např. platba kartou v obchodě).

2. Bitová Mapa (Bitmap)

Bitová mapa je srdcem ISO 8583. Je to pole, které ukazuje, která datová pole (Field 1 až Field 128) jsou přítomna v dané zprávě.

  • Délka bitové mapy: Bitová mapa je vždy buď 8 bytů (64 bitů) pro primární mapu (pole 1-64), nebo 16 bytů (128 bitů), pokud je přítomna i sekundární mapa (pole 65-128). První bit v primární mapě (Field 1) určuje, zda je sekundární mapa přítomna.
  • Bit s hodnotou 1 znamená, že příslušné datové pole je ve zprávě obsaženo.

Upozornění k délce: Zpráva ISO 8583 nemá maximální délku 128 bitů. 128 je maximální počet datových polí, která mohou být indikována bitovou mapou. Samotná zpráva může být mnohem delší, protože každé datové pole může mít různou délku (a některá jsou velmi dlouhá, např. Track 2 Data nebo data z EMV čipu). Délka zprávy je proměnná a může se pohybovat od desítek po stovky bytů.

3. Datová Pole (Data Elements)

Jedná se o až 128 předdefinovaných polí, která nesou skutečná transakční data. Každé pole má pevnou definici pro jeho obsah a formát (délka, numerický/alfanumerický). Datová pole se do zprávy vkládají v numerickém pořadí podle toho, jak jsou indikována v bitové mapě.

Pole (Field) Název Význam
2 Primary Account Number (PAN) Číslo karty (často maskované)
3 Processing Code Kód definující typ transakce (např. nákup, výběr, dobíjení)
4 Amount, Transaction Částka transakce
11 System Trace Audit Number (STAN) Sekvenční číslo pro sledování transakce v síti
35 Track 2 Data Data z magnetického proužku (pro starší transakce)
39 Response Code Dvoumístný kód odpovědi (např. 00 = Schváleno, 51 = Nedostatek peněz)
41 Card Acceptor Terminal ID Identifikace POS terminálu

Reálná Ukázka Zprávy ISO 8583 (Zjednodušeno pro čitelnost)

Reálné zprávy ISO 8583 jsou často binární nebo hexadecimální řetězce, což je obtížně čitelné. Zde je příklad zprávy reprezentovaný v ASCII, s rozdělením na komponenty, jako by prošla terminálem:

Kontext: Klient platí kartou Visa v obchodě za nákup za 123.45 CZK.

Header (volitelný, např. délka zprávy): 0081

MTI: 1100

Primary Bitmap (hexadecimálně): 72200000008011C0
    (V binárním zápisu: 0111 0010 0010 0000 0000 0000 0000 0000 0000 0000 1000 0000 0001 0001 1100 0000)
    => Indikuje přítomnost polí: 2, 3, 4, 11, 14, 22, 25, 35, 37, 39, 41, 42, 49, 53, 54, 61 (a dalších v sekundární mapě, pokud by Bit 1 byl nastaven)

Datová pole (ve stejném pořadí, v jakém jsou indikována v bitmapě):
    Field 2 (PAN, LLVAR-max 19 číslic, "LL" je délka): 16412345678901234
    Field 3 (Processing Code, N6): 000000  (Nákup)
    Field 4 (Amount, Transaction, N12): 000000012345 (123.45 CZK)
    Field 11 (STAN, N6): 001234
    Field 14 (Date, Expiration, N4): 2512 (Prosinec 2025)
    Field 22 (POS Entry Mode, N3): 021 (Čipová karta, online PIN)
    Field 25 (POS Condition Code, N2): 00 (Normální transakce)
    Field 35 (Track 2 Data, LLVAR): 37412345678901234=2512101000000000000
    Field 37 (Retrieval Reference Number, AN12): 123456789012
    Field 39 (Response Code, N2 - prázdné v požadavku):
    Field 41 (Card Acceptor Terminal ID, ANS8): POS12345
    Field 42 (Card Acceptor ID Code, ANS15): MERCHANTID98765
    Field 49 (Currency Code, Transaction, N3): 203 (CZK)
    Field 53 (Security Related Control Information, N16): 1234567890123456 (PIN Block)
    Field 54 (Additional Amounts, N...):
    Field 61 (Additional POS Data, LLVAR): 15ABCDABCDABCDABCD

Popis, kde se co nachází v ukázce:

  1. Header: 0081: Toto je volitelný předřadník zprávy, který nemusí být součástí samotného standardu ISO 8583, ale používá se v komunikačních protokolech. Zde 0081 obvykle označuje délku celé následující ISO 8583 zprávy v bytech (zde 81 bytů, ale v reálu by to bylo více, pro zjednodušení).
  2. MTI: 1100: To jsou první 4 znaky za hlavičkou. 1 (verze 1993), 1 (autorizace), 00 (požadavek).
  3. Primary Bitmap: 72200000008011C0: Osm hexadecimálních znaků představuje 8 bytů (64 bitů) primární bitové mapy.
    • Každý hexadecimální znak (např. 7) odpovídá čtyřem bitům (např. 0111).
    • 72200000008011C0 v bináru indikuje, která pole od 1 do 64 jsou přítomna. (Například bit 2 je 1, bit 3 je 1, bit 4 je 1 atd.).
  4. Datová pole: Následují v přesném numerickém pořadí, jak jsou označena v bitové mapě.
    • Field 2 (164123...): První pole po bitové mapě. 16 je indikátor délky (LL), což znamená, že číslo karty má 16 číslic. 4123... je samotné číslo karty (PAN).
    • Field 3 (000000): Kód zpracování.
    • Field 4 (000000012345): Částka transakce. Formát je N12, což znamená 12 numerických číslic, kde poslední dvě jsou desetinná místa (zde 123.45).
    • Field 11 (001234): STAN (System Trace Audit Number).
    • …a tak dále, pro všechna pole, která byla indikována v bitové mapě.

Tato struktura umožňuje extrémně efektivní parsování a zpracování, jelikož příjemce zprávy přesně ví, které datové položky očekávat a v jakém pořadí.


ISO 8583 vs. ISO 20022

Vlastnost ISO 8583 ISO 20022
Primární Zaměření Kartové transakce (ATM, POS) a jejich autorizace/zúčtování. Bankovní převody (SEPA, SWIFT), cenné papíry, cash management, regulace.
Cíl Rychlost, kompaktnost, efektivita autorizace v reálném čase. Detailní sémantika, bohatost dat, STP (Straight-Through Processing), robustnost.
Formát Binární nebo ASCII/EBCDIC kódování, bitové mapy, pole s proměnnou délkou (LLVAR/LLLVAR). XML (XSD schémata) založené na UML modelování. Možný i JSON v budoucnu.
Bohatost Dat Omezená, zaměřená na klíčové transakční detaily pro autorizaci. Extrémně bohatá, strukturovaná (detaily adresy, faktur, smluv, účel platby).
Stáří Od roku 1987 (nejčastěji verze 1993/2003). Moderní, zaváděný globálně v posledních 10+ letech.

ISO 8583 zůstává klíčovým standardem pro vysoce frekvenční autorizační sítě, kde je prioritou rychlost a minimalizace přenášených dat. ISO 20022 představuje budoucnost bankovního zúčtování a reportingu, kde je kladen důraz na transparentnost, automatizaci a schopnost nést bohatá, strukturovaná data pro sofistikovanější procesy.


Text a grafika byly vygenerovány modelem Gemini (Google). Následně upraveno autorem.

Napsat komentář