ISO 8583

ISO 8583, Estándar para Transacciones Financieras con Mensajes originados en una tarjeta - Especificaciones de los mensajes de intercambio es el estándar de la International Organization for Standardization para sistemas que intercambian transacciones electrónicas realizadas por poseedores de tarjetas de crédito.

Introducción

Una transacción basada en una tarjeta usualmente sale desde un dispositivo de compra, tal como un POS o un cajero automático ATM, a través de una red (o redes) hacia un sistema del emisor de la tarjeta para obtener una autorización en función de la cuenta del titular de la tarjeta. La transacción contiene información que se obtiene de la tarjeta (ej. número de cuenta), la terminal (ej. nro. de comercio), la transacción (ej. importe) en conjunto con otra información que se puede generar o agregar dinámicamente por los sistemas intervinientes. El sistema emisor de la tarjeta podrá autorizar o rechazar la transacción, y genera un mensaje de respuesta que debe ser devuelto a la terminal en un tiempo breve.

ISO 8583 define un formato de mensaje y un flujo de comunicación para que diferentes sistemas puedan intercambiar estas transacciones. La mayoría de las operaciones realizadas en ATM usan ISO 8583 en algunos puntos de la cadena de comunicación, así como también las transacciones que realiza un cliente que usa una tarjeta para hacer un pago en un local. En particular, todas las redes de tarjetas basan sus transacciones en el standard ISO 8583.

Las transacciones incluyen compras, extracciones, depósitos, reintegros, reversos, consultas de saldo, pagos y transferencias entre cuentas. ISO 8583 también define mensajes entre sistemas para intercambios seguros de claves, conciliación de totales y otros propósitos administrativos.

Aunque el ISO 8583 define un standard común, no se usa normalmente en forma directa por sistemas o redes. En lugar de eso cada red adapta el standard para su propio uso con campos adaptados a sus necesidades particulares.

La ubicación de los cambios en diferentes versiones del standard varia, por ejemplo, los elementos que definen la moneda (currency elements) de las versiones 1987 y 1993 no se usan más en la versión 2003, lo que hace que la moneda sea un sub-elemento de cualquier elemento monto. LA ISO 8583:2003 todavía tiene que obtener aceptación.

Un mensaje ISO 8583 consta de las siguientes partes:

  • Message Type Indicator (MTI) - Indicador de Tipo de Mensaje
  • Uno o más bitmaps, indicando qué elementos están presentes en el mensaje
  • Data elements, los campos del mensaje

Message Type Indicator (MTI) - Indicador de Tipo de Mensaje

Este es un campo numérico de 4 dígitos que clasifica la función de alto nivel del mensaje. Un MTI incluye la versión ISO 8583, la clase (Message Class), la función (Message Function) y el origen del mensaje (Message Origin), cada uno descrito brevemente en las secciones siguientes

ejemplo :

0110

  0xxx ----> version of ISO 8583 (1987 version)
  x1xx ----> class of the Message (Authorization Message)
  xx1x ----> function of the Message (Request Response)
  xxx0 ----> who is began the communication (Acquirer)

ISO 8583 Version

Posición 1 del MTI que especifica la versión del estándar ISO 8583 que se está usando en este mensaje

PosiciónSignificado
0xxxISO 8583-1:1987 version
1xxxISO 8583-2:1993 version
2xxxISO 8583-1:2003 version
9xxxPrivate usage

Message Class - Clase de Mensaje

Posición 2 del MTI que especifica el propósito general del mensaje.

PosiciónSignificadoUso
x1xxAutorizaciónDetermina si existen fondos disponibles, obtiene una aprobación pero no se toma en cuenta para la conciliación, Dual Message System (DMS) system, espera el intercambio de archivos para imputar la cuenta
x2xxFinancieroDetermina si existen fondos disponibles, obtiene una aprobación e imputa directamnente a la cuenta , Single Message System (SMS), no se intercambian archivos
x3xxManejo de ArchivosUsado por hot-card, TMS y otros cambios
x4xxReversoReversa la acción de una autorización previa
x5xxConciliaciónTransmite información de cierre
x6xxAdministrativoTransmite información de falla en los mensajes
x7xxFee Collection
x8xxManejo de RedUsado para intercambio seguro de claves, logon, echo test y otras funciones de red
x9xxReservado por la ISO

Message Function - Función del Mensaje

Posición 3 del MTI que especifica la función del mensaje que define como se procesará el mensaje dentro del sistema. Los requerimientos (requests) son mensajes end-to-end (ej. desde comprador hasta autorizador ida y vuelta con timeouts y reversos de ser necesarios), mientras que los avisos (advises) son mensajes point-to-point (ej. desde la terminal al comprador, del comprador a la red, de la red al emisor, con transmisión garantizada para cada punto pero no necesariamente inmediata).

PosiciónSignificado
xx0xPetición (Request)
xx1xRespuesta a la Petición (Request Response)
xx2xAviso (Advice)
xx3xRespuesta al Aviso (Advice Response)
xx4xNotificación
xx8xConfirmación de respuesta (Response acknowledgment)
xx9xNo Confirmación (Negative acknowledgment)

Message Origin - Origen del Mensaje

Posición 4 del MTI que define la ubicación de la fuente del mensaje dentro de la cadena de pago.

PosiciónSignificado
xxx0Comprador
xxx1Comprador Repetición
xxx2Emisor
xxx3Emisor Repetición
xxx4Otros
xxx5Otros Repetición

Ejemplos

Teniendo en mente las cuatro posiciones descritas anteriormente, un MTI describirá completamente qué es lo que un mensaje deberá hacer y cómo será transmitido a través de la red. Desafortunadamente, no todas las implementaciones del ISO 8583 interpretan el significado de un MTI de la misma manera. Como sea, algunos pocos MTI's son estándar:

MTISignificadoUso
0100Requerimiento de autorizaciónRequerimiento desde un terminal POS para autorizar una compra de un tarjetahabiente
0120Aviso de AutorizaciónCuando el POS está roto y Ud. debe firmar un voucher
0121Aviso de Autorización RepeticiónSi el aviso se vence por timeout
0200Requerimiento Financiero del CompradorRequerimiento de fondos, usualmente de un ATM
0210Respuesta al Requerimiento Financiero del CompradorRespuesta del mensaje de requerimiento de fondos (aprobada o denegada)
0220Aviso Financiero del Compradore.g. Checkout de un hotel
0221Aviso Financiero del Comprador RepeticiónSi el aviso se vence por timeout
0230Respuesta al Aviso Financiero del CompradorRespuesta al mensaje 0220
0400Requerimiento de Reverso del CompradorReversa una transacción
0420Aviso de Reverso del CompradorAviso de que se realizó un reverso
0421Aviso de Reverso del Comprador RepeticiónSi el reverso se vence por timeout
0430Respuesta del Aviso de Reverso del CompradorRespuesta al aviso 0420 del Aviso de Reverso
0800Requerimiento de Manejo de RedEcho test, logon, log off etc
0820Aviso de Manejo de RedKeychange

Bitmaps - Mapas de Bits

Dentro del ISO 8583, un mapa de bit es un campo o subcampo dentro de un mensaje que indica que otros elementos (campos o subcampos) se encuentran en el mensaje.

Un mensaje contendrá al menos un mapa de bits, llamado el Mapa de Bits Primario que indica que campos (Data Elements) del 1 al 64 están presentes. Puede existir un mapa de bits secundario, generalmente como elemento 1 que indica que campos del 65 al 128 están presentes. De igual forma, un tercer bitmap puede usarse para indicar la presencia o ausencia de los campos del 129 al 192, aunque esos campos casi nunca se usan.

El mapa de bits se puede transmitir como un dato binario de 8 bytes, o como un campo de 16 caracteres hexadecimales 0-9, A-F en el set de caracteres ASCII o EBCDIC.

Un campo está presente cuando el bit correspondiente está en true, ej. el byte 42x en binario es '0100 0010' lo que significa que los campos 2 y 7 están presentes en este mensaje.

Ejemplos

BitmapDefine la presencia de
4210001102C04804Campos 2, 7, 12, 28, 32, 39, 41, 42, 50, 53, 62
7234054128C28805Campos 2, 3, 4, 7, 11, 12, 14, 22, 24, 26, 32, 35, 37, 41, 42, 47, 49, 53, 62, 64 ,100 (Bitmap secundario requerido para mostrar la presencia del campo - 100)
8000000000000001Campos 1, 64
0000000000000003
(Bitmap secundario)
Campos 127, 128

Explicación del Bitmap (8 bytes, Bitmap Primario = 64 Bit) campo 4210001102C04804
BYTE1 : 0100 0010 = 42x (contando de izquierda, el segundo y el séptimo bit son 1, indicando que los campos 2 y 7 están presentes)
BYTE2 : 0001 0000 = 10x (campo 12 está presente)
BYTE3 : 0000 0000 = 00x (no hay campos presentes)
BYTE4 : 0001 0001 = 11x (campos 28 y 32 están presentes)
BYTE5 : 0000 0010 = 02x (campo 39 está presente)
BYTE6 : 1100 0000 = C0x (campos 41 y 42 están presentes)
BYTE7 : 0100 1000 = 48x (campos 50 y 53 están presentes)
BYTE8 : 0000 0100 = 04x (campo 62 esta presente)

nth bit 0102030405060
1234567890123456789012345678901234567890123456789012345678901234
Bitmap 0100001000010000000000000001000100000010110000000100100000000100


Campos presentes en un mensaje de longitud variable:
2-7-12-28-32-39-41-42-50-53-62

Data Elements - Campos de datos

Los Data Elements son los campos individuales que llevan la información sustancial acerca de la transacción. Hay 128 campos definidos en el estándar ISO8583:1987, y 192 en posteriores releases. La revisión de 1993 agregó nuevas definiciones y eliminó algunas, sin embargo dejó el formato del mensaje sin cambios.

Mientras que cada Data Element tiene un significado y formato específico, el estándar también incluye algunos campos de propósito general y algunos especiales para sistemas o países, los cuales varían sustancialmente en su forma y uso de una implementación a otra.

Cada campo se describe en un formato estándar que define el contenido permitido del campo (numérico, binario, etc.) y el largo del campo (variable o fijo), de acuerdo a la siguiente tabla:

AbreviaturaSignificado
aAlfabético, incluyendo los espacios
nSolo valores numéricos
sSolo caracteres especiales
anAlfanumérico
asSolo caracteres alfanuméricos y especiales
nsSolo caracteres numéricos y especiales
ansCaracteres Alfabéticos, numéricos y especiales
bInformación binaria
zTracks 2 y 3 code set como se define en la ISO 4909 y en ISO 7813.

Además, cada campo puede tener largo fijo o variable. Si es variable, el largo del campo será precedido por un indicador de largo.

TipoSignificado
FixedLargo Fijo
LLVAR o (..xx)Donde xx < 100, significa que los dos primeros dígitos indican el largo del campo
LLLVAR o (...xxx)Donde xxx < 1000, significa que los tres primeros dígitos indican el largo del campo
Un campo LLVAR o LLLVAR puede ser comprimido o ASCII dependiendo del formato del mensaje que puede ser ASCII o Comprimido.Por ejemplo un campo LLVAR puede tener 1 o 2 bytes, si está comprimido el hexa '23x significa que hay 23 elementos, si es ASCII, bytes '32x, '31x significa que hay 21 elementos. Un elemento depende del tipo de dato, si es numérico este estará comprimido, ej. largo 87 se representará por un byte '87x, si es ASCII serán dos bytes '38x y '37x. Los campos LLLVAR usan 2 o 3 bytes (dependiendo del tipo de mensaje) con un '0' adelante si es comprimido.
ISO-Defined Data Elements
Data ElementTypeUsage
1b 64Bit Map Extended
2n ..19Primary account number (PAN)
3n 6Processing code
4n 12Amount, transaction
5n 12Amount, Settlement
6n 12Amount, cardholder billing
7n 10Transmission date & time
8n 8Amount, Cardholder billing fee
9n 8Conversion rate, Settlement
10n 8Conversion rate, cardholder billing
11n 6Systems trace audit number
12n 6Time, Local transaction
13n 4Date, Local transaction (MMdd)
14n 4Date, Expiration
15n 4Date, Settlement
16n 4Date, conversion
17n 4Date, capture
18n 4Merchant type
19n 3Acquiring institution country code
20n 3PAN Extended, country code
21n 3Forwarding institution. country code
22n 3Point of service entry mode
23n 3Application PAN number
24n 3Function code(ISO 8583:1993)/Network International identifier (?)
25n 2Point of service condition code
26n 2Point of service capture code
27n 1Authorizing identification response length
28n 8Amount, transaction fee
29n 8Amount. settlement fee
30n 8Amount, transaction processing fee
31n 8Amount, settlement processing fee
32n ..11Acquiring institution identification code
33n ..11Forwarding institution identification code
34n ..28Primary account number, extended
35z ..37Track 2 data
36z ..104Track 3 data
37an 12Retrieval reference number
38an 6Authorization identification response
39an 2Response code
40an 3Service restriction code
41ans 8Card acceptor terminal identification
42ans 15Card acceptor identification code
43ans 40Card acceptor name/location
44an ..25Additional response data
45an ..76Track 1 Data
46an ...999Additional data - ISO
47an ...999Additional data - National
48an ...999Additional data - Private
49a 3Currency code, transaction
50an 3Currency code, settlement
51a 3Currency code, cardholder billing
52b 16Personal Identification number data
53n 18Security related control information
54an ..120Additional amounts
55ans ...999Reserved ISO
56ans ...999Reserved ISO
57ans ...999Reserved National
58ans ...999Reserved National
59ans ...999Reserved for national use
60an ..7Advice/reason code (private reserved)
61ans ...999Reserved Private
62ans ...999Reserved Private
63ans ...999Reserved Private
64b 16Message authentication code (MAC)
65b 16Bit map, tertiary
66n 1Settlement code
67n 2Extended payment code
68n 3Receiving institution country code
69n 3Settlement institution county code
70n 3Network management Information code
71n 4Message number
72ans ...999Data record (ISO 8583:1993)/n 4 Message number, last(?)
73n 6Date, Action
74n 10Credits, number
75n 10Credits, reversal number
76n 10Debits, number
77n 10Debits, reversal number
78n 10Transfer number
79n 10Transfer, reversal number
80n 10Inquiries number
81n 10Authorizations, number
82n 12Credits, processing fee amount
83n 12Credits, transaction fee amount
84n 12Debits, processing fee amount
85n 12Debits, transaction fee amount
86n 15Credits, amount
87n 15Credits, reversal amount
88n 15Debits, amount
89n 15Debits, reversal amount
90n 42Original data elements
91an 1File update code
92n 2File security code
93n 5Response indicator
94an 7Service indicator
95an 42Replacement amounts
96an 8Message security code
97n 16Amount, net settlement
98ans 25Payee
99n ..11Settlement institution identification code
100n ..11Receiving institution identification code
101ans 17File name
102ans ..28Account identification 1
103ans ..28Account identification 2
104ans ..100Transaction description
105ans ...999Reserved for ISO use
106ans ...999Reserved for ISO use
107ans ...999Reserved for ISO use
108ans ...999Reserved for ISO use
109ans ...999Reserved for ISO use
110ans ...999Reserved for ISO use
111ans ...999Reserved for ISO use
112ans ...999Reserved for national use
113n ..11Authorizing agent institution id code
114ans ...999Reserved for national use
115ans ...999Reserved for national use
116ans ...999Reserved for national use
117ans ...999Reserved for national use
118ans ...999Reserved for national use
119ans ...999Reserved for national use
120ans ...999Reserved for private use
121ans ...999Reserved for private use
122ans ...999Reserved for private use
123ans ...999Reserved for private use
124ans ..255Info Text
125ans ..50Network management information
126ans ..6Issuer trace id
127ans ...999Reserved for private use
128b 16Message Authentication code

Ejemplos

Definición de CampoSignificado
n6Campo de largo fijo con 6 dígitos
n.6Campo LVAR numérico con hasta 6 dígito de largo
a..11Campo LLVAR alfanumérico con hasta 11 caracteres de largo
b...999Campo LLLVAR binario de hasta 999 bytes de largo

Enlaces externos

Este artículo ha sido escrito por Wikipedia. El texto está disponible bajo la licencia Creative Commons - Atribución - CompartirIgual. Pueden aplicarse cláusulas adicionales a los archivos multimedia.