La norma ISO 8583 es un estándar internacional para la mensajería de intercambio originada en tarjetas de transacciones financieras . Es el estándar de la Organización Internacional de Normalización para sistemas que intercambian transacciones electrónicas iniciadas por titulares de tarjetas que utilizan tarjetas de pago .
La norma ISO 8583 define un formato de mensaje y un flujo de comunicación para que los distintos sistemas puedan intercambiar estas solicitudes y respuestas de transacciones. La gran mayoría de las transacciones que se realizan cuando un cliente utiliza una tarjeta para realizar un pago en un comercio ( EFTPOS ) utilizan la norma ISO 8583 en algún punto de la cadena de comunicación, al igual que las transacciones que se realizan en los cajeros automáticos. En particular, las redes Mastercard , Visa y Verve basan sus comunicaciones de autorización en la norma ISO 8583, al igual que muchas otras instituciones y redes.
Aunque la norma ISO 8583 define un estándar común, normalmente no lo utilizan directamente los sistemas o redes. Define muchos campos estándar (elementos de datos) que siguen siendo los mismos en todos los sistemas o redes, y deja algunos campos adicionales para pasar detalles específicos de la red. Cada red utiliza estos campos para adaptar el estándar a su propio uso con campos y usos personalizados, como las tarjetas de proximidad.
La especificación ISO 8583 tiene tres partes:
Una transacción basada en tarjeta viaja típicamente desde un dispositivo de adquisición de transacciones, como una terminal de punto de venta (POS) o un cajero automático (ATM), a través de una serie de redes, hasta un sistema de emisión de tarjetas para su autorización contra la cuenta del titular de la tarjeta. Los datos de la transacción contienen información derivada de la tarjeta (por ejemplo, el número de tarjeta o los detalles del titular de la tarjeta), el terminal (por ejemplo, el número de terminal, el número de comerciante), la transacción (por ejemplo, el monto), junto con otros datos que pueden generarse dinámicamente o agregarse mediante sistemas intermedios. En función de esta información, el sistema de emisión de tarjetas autorizará o rechazará la transacción y generará un mensaje de respuesta que debe enviarse de vuelta al terminal dentro de un período de tiempo predefinido.
Un mensaje ISO 8583 se compone de las siguientes partes:
La ubicación de los campos en las distintas versiones de la norma varía; por ejemplo, los elementos de moneda de las versiones de 1987 y 1993 de la norma ya no se utilizan en la versión de 2003, que considera la moneda como un subelemento de cualquier elemento de importe financiero. Sin embargo, a junio de 2017, la norma ISO 8583:2003 aún no ha logrado una amplia aceptación. La mensajería ISO 8583 no tiene información de enrutamiento, por lo que a veces se utiliza con un encabezado TPDU .
Las transacciones originadas por el titular de la tarjeta incluyen compras, retiros, depósitos, reembolsos, reversiones, consultas de saldo, pagos y transferencias entre cuentas. La norma ISO 8583 también define los mensajes de sistema a sistema para intercambios seguros de claves, conciliación de totales y otros fines administrativos.
El indicador de tipo de mensaje es un campo numérico de cuatro dígitos que indica la función general del mensaje. Un indicador de tipo de mensaje incluye la versión ISO 8583, la clase de mensaje, la función del mensaje y el origen del mensaje, como se describe a continuación.
El primer dígito del MTI indica la versión ISO 8583 en la que está codificado el mensaje.
La posición dos del MTI especifica el propósito general del mensaje.
La posición tres de la MTI especifica la función de mensajes que define cómo debe fluir el mensaje dentro del sistema. Las solicitudes son mensajes de extremo a extremo (por ejemplo, del adquirente al emisor y viceversa, con tiempos de espera y reversiones automáticas), mientras que los avisos son mensajes de punto a punto (por ejemplo, de terminal al adquirente, del adquirente a la red, de la red al emisor, con transmisión garantizada en cada enlace, pero no necesariamente de forma inmediata).
La posición cuatro del MTI define la ubicación de la fuente del mensaje dentro de la cadena de pago.
Dado un valor MTI de 0110 , el siguiente ejemplo enumera lo que indica cada posición:
Por lo tanto, MTI 0110 es un mensaje de respuesta de autorización donde la transacción real fue originada por el adquirente.
Teniendo en cuenta cada una de las cuatro posiciones anteriores, una MTI especificará por completo lo que debe hacer un mensaje y cómo debe transmitirse por la red. Lamentablemente, no todas las implementaciones de ISO 8583 interpretan el significado de una MTI de la misma manera. Sin embargo, algunas MTI son relativamente estándar:
En ISO 8583, un mapa de bits es un campo o subcampo dentro de un mensaje, que indica si otros elementos de datos o subcampos de elementos de datos están presentes en otras partes del mensaje.
Se considera que un campo está presente solo cuando se establece el bit correspondiente en el mapa de bits. Por ejemplo, un hexadecimal con valor 0x82 (decimal 130) es binario 1000 0010 , lo que significa que los campos 1 y 7 están presentes en el mensaje y los campos 2, 3, 4, 5, 6 y 8 no.
El mapa de bits puede representarse como 8 bytes de datos binarios o como 16 caracteres hexadecimales (0–9, A–F) en los conjuntos de caracteres ASCII o EBCDIC . Un mensaje contendrá al menos un mapa de bits, llamado mapa de bits primario , que indica si los elementos 1 a 64 están presentes. La presencia de un mapa de bits secundario opcional también se indica mediante el primer bit en el mapa de bits primario. Si está presente, el mapa de bits secundario indica si los elementos de datos 65 a 128 están presentes. De manera similar, se puede utilizar un mapa de bits terciario para indicar la presencia de los campos 129 a 192, aunque estos elementos de datos rara vez se utilizan.
Dado un valor de mapa de bits de 70 10 00 11 02 C0 48 04 ,
Por lo tanto, el mapa de bits dado define los siguientes campos presentes en el mensaje::
2, 3, 4, 12, 28, 32, 39, 41, 42, 50, 53, 62.
Los elementos de datos son los campos individuales que contienen la información de la transacción. Existen hasta 128 elementos de datos especificados en la norma ISO 8583:1987 original y hasta 192 elementos de datos en versiones posteriores. La revisión de 1993 agregó nuevas definiciones y eliminó algunas, pero dejó el formato del mensaje sin cambios.
Si bien cada elemento de datos tiene un significado y un formato específicos, la norma también incluye algunos elementos de datos de propósito general y elementos de datos específicos del sistema o del país que varían enormemente en uso y forma de una implementación a otra.
Cada elemento de datos se describe en un formato estándar que define el contenido permitido del campo (numérico, binario, etc.) y la longitud del campo (variable o fija), de acuerdo con la siguiente tabla:
Además, cada campo puede tener una longitud fija o variable. Si es variable, la longitud del campo estará precedida por un indicador de longitud.
La siguiente es una tabla que especifica el tipo de mensajes y el código de procesamiento para cada tipo de transacción.
La siguiente tabla muestra los códigos de respuesta y sus significados para ISO 8583-1987, las versiones posteriores utilizan códigos de respuesta de 3 y 4 dígitos.
El campo de modo de punto de servicio (POS) indica bajo qué condiciones se ha leído la tarjeta, qué tipo de autenticación se ha realizado y, dependiendo de la versión de la especificación, cuáles son las capacidades del terminal.
Para la especificación de 2003, el código POS consta de 16 caracteres binarios divididos en cuatro partes:
Para la versión de 1993 [6] es un campo de 12 caracteres que consta de 5 partes:
El valor del modo de entrada del punto de servicio consta de dos partes:
La siguiente tabla muestra los modos de entrada PAN y sus significados.
La siguiente tabla muestra las capacidades de ingreso de PIN y sus significados.
La norma australiana AS 2805 incorpora la norma ISO 8583 y también cubre una gran cantidad de otros temas de pago. [7]
Un editor ISO8583 sencillo y gratuito