ISO 8583

ISO 8583 (Standard for Financial Transaction Card Originated Messages – Interchange message specifications, deutsch etwa „Standard für Meldungen, die von Finanz-Transaktionskarten erzeugt werden – Spezifikationen der Übertragungsmeldungen“) ist ein Standard der Internationalen Organisation für Normung (ISO), der festlegt, wie elektronische Zahlungskarten-Transaktionen zwischen Computersystemen ausgetauscht werden.

Eine kartenbasierte Transaktion muss normalerweise zwischen mehreren Computersystemen ausgetauscht werden. Zum Beispiel muss eine in einem Ladengeschäft ausgeführte Bezahlung vom Kassenterminal beim Händler durch ein oder mehrere Händlernetze zu derjenigen ausgebenden Bank weitergeleitet werden, die das Konto des Karteninhabers führt. Die Transaktion transportiert Informationen über ihre Art, die verwendete Karte, den Händler, den Betrag, Sicherheitsinformationen usw. Die Antwort, die die Transaktion bestätigt oder ablehnt, muss auf dem gleichen Weg an das Kassenterminal zurückgegeben werden.

ISO 8583 definiert ein Nachrichtenformat und einen Kommunikationsfluss, damit unterschiedliche Systeme diese Transaktionen untereinander austauschen können. Die weitaus meisten Auszahlungen von Geldautomaten verwenden ISO 8583 an irgendeiner Stelle der Kommunikationskette, ebenso wie Kartenzahlung in Geschäften. Insbesondere basieren sowohl Mastercard- als auch VISA-Transaktionen auf 8583, ebenso wie viele andere Institutionen und Netze.

Vom Karteninhaber ausgelöste Transaktionen umfassen Kauf, Rücknahme, Einzahlung, Rückerstattung, Saldoabfrage, Auszahlung und Überweisung. ISO 8583 definiert außerdem System-an-System-Nachrichten für den Austausch sicherer Schlüssel, Kontenabgleich und andere verwaltungstechnische Zwecke.

Obwohl ISO 8583 einen allgemeinen Standard definiert, wird er normalerweise nicht direkt von Systemen oder Netzen verwendet. Stattdessen gibt es eine Vielzahl an Implementierungen in verschiedenen Transaktions-Netzwerken, die zwar alle auf 8583 basieren, jedoch jeweils eigene Anpassungen vorgenommen haben.

Nachrichtenstruktur

Eine ISO-8583-Nachricht besteht aus folgenden Teilen:

  • Ein Message Type Indicator kennzeichnet die Art der Nachricht.
  • Ein oder mehrere Bitmaps zeigen an, welche Datenelemente vorhanden sind.
  • Ein oder mehrere Data Elements sind die einzelnen Felder der Nachricht.

Message Type Indicator (MTI)

Der Message Type Indicator (MTI, „Nachrichtentypkennzeichen“) ist ein vierstelliges numerisches Feld, das die Hauptfunktion der Nachricht klassifiziert. Dieses Kennzeichen umfasst die verwendete Version von ISO 8583, eine Nachrichtenklasse und eine Nachrichtenunterklasse.

ISO-8583-Version

Unterschiedliche Versionen des ISO-8583-Standards werden in der ersten Stelle des Nachrichtentypkennzeichens gekennzeichnet.

  • 0xxx – Version ISO 8583-1:1987
  • 1xxx – Version ISO 8583-2:1993
  • 2xxx – Version ISO 8583-1:2003

Die Position von Feldern variiert in unterschiedlichen Versionen des Standards. Zum Beispiel werden die Währungselemente der Versionen von 1987 und 1993 in der Version von 2003 nicht mehr verwendet, weil diese die Währung jeweils als Teil der einzelnen Beträge enthält.

Nachrichtenklasse

ISO 8583 unterscheidet folgende Nachrichtenklassen.

KennzeichenKlasseBedeutung
x1xxAuthorization MessageAuthentifizierung und Autorisierung
x2xxFinancial Messagefinanzielle Transaktionen (Auszahlungen usw.)
x3xxFile Actions MessageAustausch von Dateien
x4xxReversal MessageStornierungen
x5xxReconciliation MessageDatenabgleich
x6xxAdministrative Messageinterne Nachrichten für die Systemadministration
x8xxNetwork Management Messageinterne Nachrichten für die Netzadministration

Nachrichtenunterklassen

ISO 8583 unterteilt die Nachrichtenklassen weiter in folgende Unterklassen.

  • xx00 für Anforderungen, denen zugestimmt werden muss
  • xx10 für Antworten auf Anforderungen
  • xx20 für Hinweise zu Aktionen, die bereits ausgeführt wurden. Benötigt keine Zustimmung, aber eine Antwort.
  • xx30 für Antworten auf Hinweise

Die vierte Stelle wird in wiederholten Anforderungen um 1 erhöht (außer in x300-Nachrichten). Zum Beispiel ist 1100 eine Anforderung zur Autorisierung und 1101 deren Wiederholung.

Bitmaps

Bitmaps sind eine Indextechnik, die in ISO-8583-Nachrichten dazu verwendet wird, anzuzeigen, welche Datenelemente vorhanden sind.

Eine Nachricht enthält mindestens eine Bitmap, die erste Bitmap (primary bitmap), die das Vorhandensein der Datenelemente 1 bis 64 anzeigt.

Datenelement 1 kann eine zweite Bitmap enthalten, daher gibt das erste Bit in der ersten Bitmap an, ob eine zweite Bitmap existiert. Die zweite Bitmap zeigt die Existenz der Datenelemente 65 bis 128 an.

In der neuesten Version des ISO-8583-Standards kann eine Nachricht bis zu drei Bitmaps enthalten.

Datenelemente

Datenelemente (Data Elements) enthalten die eigentlichen Transaktionsdaten. Der ursprüngliche Standard von 1987 definierte bis zu 128 Datenelemente, spätere Ausgaben bis zu 192.

Für jedes Datenelement sind Bedeutung und Format spezifiziert. ISO 8583 enthält außerdem einige Mehrzweck- und system-spezifische Datenelemente, die von abgeleiteten Standards unterschiedliche verwendet werden.

Format der Datenelemente

Jedes Datenelement hat ein Standardformat. Dieses besteht aus dem erlaubten Inhalt des Feldes (numerisch, binär usw.) und seiner erlaubten Länge. Diese werden gesondert als „erlaubter Inhalt“ (allowed content), gefolgt von „Länge“ (length) angegeben, wie in den folgenden Abschnitten beschrieben.

Attribute für den Feldtyp

AbkürzungBedeutung
aBuchstaben (Alpha) inklusive Leerzeichen
nnur numerische Werte
snur Sonderzeichen
anAlphanumerisch (Buchstaben und Ziffern)
asnur Buchstaben & Sonderzeichen
nsnur Ziffern und Sonderzeichen
bBinärdaten
ansBuchstaben, Ziffern und Sonderzeichen

Feldlänge

Die Länge eines Datenelements kann fest oder variabel Länge sein. Feldern variabler Länge ist in einer Nachricht ein Längenkennzeichen (length indicator) vorangestellt.

Datenelemente fester Länge

Die Längen von Datenelementen fester Länge sind im Standard festgelegt, daher wird kein Längenkennzeichen in der Nachricht benötigt.

Felder fester Länge werden im Standard dadurch gekennzeichnet, dass ihrem Typkennzeichen die Länge angehängt wird.

Z. B. hat das Datenelement 3 das Format „n6“, das ein Zahlenfeld fester Länge mit 6 Ziffern definiert.

Datenelemente variabler Länge

Andere Datenelemente können variable Längen haben, daher ist ihnen in der Nachricht ein Längenkennzeichen vorangestellt. Das Längenkennzeichen hat selbst eine definierte Länge: So reicht zum Beispiel Längenkennzeichen der Länge 1 nur für variable Feldlängen von 1 bis 9. Ein Längenkennzeichen der Länge 3 reicht für Feldlängen bis zu 999.

Variable Felder werden im Standard durch zwei Punkte „..“, gefolgt von der Maximallänge des Feldes definiert. Das Längenkennzeichen wird durch eine Anzahl von Ls dargestellt, die der Länge des Längenkennzeichens entsprechen.

Zum Beispiel hat das Datenelement 2 das Format „n..19, LLVAR“. Das bedeutet, dass das Feld höchstens 19 Ziffern enthält und ein zweistelliges Längenkennzeichen besitzt.

Definitionen

Im Folgenden sind einige wichtige Datenfelder beschrieben.

Nachrichtentyp

Der Nachrichtentyp (Message Type Indicator, MTI) wird für alle ISO-8583-Nachrichten benötigt, um die Nachrichtenklasse zu bestimmen. Er hat das Format „n4“, ist also eine natürliche Dezimalzahl der Länge 4.

Die folgende Tabelle zeigt eine Auswahl von Nachrichtentypen.

MTINachrichtentypBeschreibung
x100Authorization RequestAufforderung zur Autorisierung
x101Repeat Authorization RequestWiederholung der Aufforderung zur Autorisierung
x110Authorization ResponseAutorisierungs-Antwort
x120Authorization AdviceHinweis zur Autorisierung
x130Authorization Advice ResponseAntwort auf Hinweis zur Autorisierung
x200Financial RequestAnforderung einer Finanztransaktion
x210Financial ResponseAntwort auf Finanztransaktion
x220Financial AdviceHinweis zu einer Finanztransaktion
x230Financial Advice ResponseAntwort auf Hinweis zu einer Finanztransaktion
x300Acquirer File Update RequestAnforderung zur Aktualisierung einer Käuferdatei (Kundendaten)
x302Issuer File Update RequestAnforderung zur Aktualisierung einer Ausstellerdatei (Bankdaten)
x310Acquirer File Update ResponseAntwort zur Aktualisierung einer Käuferdatei
x312Issuer File Update ResponseAntwort zur Aktualisierung einer Ausstellerdatei
x320Acquirer File Update AdviceHinweis zur Aktualisierung einer Käuferdatei
x322Issuer File Update AdviceHinweis zur Aktualisierung einer Ausstellerdatei
x330Acquirer File Update Advice ResponseAntwort auf Hinweis zur Aktualisierung einer Käuferdatei
x332Issuer File Update Advice ResponseAntwort auf Hinweis zur Aktualisierung einer Ausstellerdatei
x400Acquirer Reversal RequestStornierungsanforderung des Käufers (Kunden)
x401Acquirer Reversal RequestWiederholung einer Stornierungsanforderung des Käufers (Kunden)
x402Issuer Reversal RequestStornierungsanforderung des Ausstellers (Bank)
x410Acquirer Reversal Request ResponseAntwort auf Stornierungsanforderung des Käufers
x412Issuer Reversal Request ResponseAntwort auf Stornierungsanforderung des Ausstellers
x420Acquirer Reversal AdviceHinweis zur Stornierung durch den Käufer
x422Issuer Reversal AdviceHinweis zur Stornierung durch den Aussteller
x430Acquirer Reversal Advice ResponseAntwort auf Hinweis zur Stornierung durch den Käufer
x432Issuer Reversal Advice ResponseAntwort auf Hinweis zur Stornierung durch den Aussteller
x5xxReconciliation Request MessagesAnforderung zum Abgleich
x6xxAdministrative Request Messagesverwaltungstechnische Nachricht
x800Network Management RequestNachricht zur Netzverwaltung
x810Network Management Request ResponseAntwort für Netzverwaltung

Weblinks