Especificación host-to-host para bancos
El switch adquirente de FINORA opera hoy en producción contra un host autorizador de pruebas y contra emisores conectados a FINORA. Todavía no hay un switch bancario conectado en producción. La conexión con cada banco se configura a partir de su especificación y se habilita tras su certificación. Esta guía describe qué ofrece FINORA hoy y qué está en preparación, para que el banco pueda evaluar la integración.
En este modelo el banco autoriza y FINORA adquiere y enruta: el switch adquirente de FINORA recibe las operaciones de los terminales de los comercios afiliados y las remite al switch autorizador del banco por una conexión host-to-host ISO 8583. El banco responde con su decisión y FINORA la entrega al terminal.
Transporte
| Aspecto | Hoy | Próximamente |
|---|---|---|
| Protocolo | TCP con prefijo de longitud | Prefijo, cabecera y codificación según la especificación del banco |
| Cifrado del canal | TLS 1.2 o 1.3 obligatorio hacia todo banco, con verificación del nombre del servidor y almacén de confianza dedicado. Un enlace sin TLS no se establece. | — |
| Certificado de cliente | Disponible si el banco lo exige (TLS mutuo) | — |
| Red | — | VPN sitio a sitio, según lo acuerde el banco |
| Sesión | Sign-on, echo periódico y sign-off iniciados por el adquirente | Respuesta a los mensajes de red iniciados por el banco (echo, cambio de llave, corte) |
| Sockets | Un socket iniciado por el adquirente | Modelo de dos sockets, si el banco lo exige |
| Formato del mensaje | Formato del banco configurable por campo (copia, constante o atributo del enlace) | Formato completo por banco: versión ISO (1987 o 1993), codificación (ASCII, EBCDIC o BCD), cabecera, bitmap y campos privados |
Mensajes
| MTI | Flujo | Estado |
|---|---|---|
| 0200/0210, código de proceso 00 | Compra (débito y crédito) | Disponible |
| 0200/0210, código de proceso 01 | Retiro | Disponible |
| 0200/0210, código de proceso 30/31 | Consulta de saldo | Próximamente |
| 0100/0110 | Autorización y preautorización en modo dual | Próximamente |
| 0400/0410 | Reverso por timeout generado por el adquirente, con reintentos desde una cola persistente | Disponible |
| 0420/0430 | Reverso iniciado por el comercio o el terminal, remitido al banco que recibió la original | Disponible; reintentos desde la cola persistente del adquirente y repetición (0421): Próximamente |
| 0200 con código de proceso 02 | Anulación con referencia a la original | Próximamente |
| 0200/0220 con código de proceso 20 | Devolución | Próximamente |
| 0120/0220 | Avisos (operaciones EMV fuera de línea, completaciones) | Próximamente |
| 0800/0810, DE 70 = 001, 002, 301 | Sign-on, sign-off y echo iniciados por el adquirente | Disponible |
| 0800/0810 | Mensajes de red iniciados por el banco | Próximamente |
| 0800/0810, DE 70 = 101/161 | Cambio de llaves de trabajo | Próximamente |
| 0520/0522 | Corte y cotejo de totales con el banco | Próximamente (se acuerda con cada banco) |
El modo de operación por omisión es simple (single message): la autorización y la captura ocurren en el mismo 0200.
Campos de la autorización (0200)
| DE | Contenido | Estado |
|---|---|---|
| 2 | Número de la tarjeta. Con el lector Bluetooth de cifrado punto a punto se reconstruye dentro del módulo criptográfico del adquirente. | Disponible |
| 3 | Código de proceso, con el tipo de cuenta en las posiciones 3 y 4 (ahorro, corriente, crédito) | Disponible |
| 4, 49 | Monto y moneda | Disponible |
| 7, 11, 12, 13 | Fecha y hora de transmisión, STAN y fecha y hora local | Disponible; STAN y RRN asignados por el adquirente, únicos por enlace y por día: Próximamente |
| 14 | Fecha de vencimiento | Disponible |
| 15 | Fecha de liquidación | Próximamente |
| 22 | Modo de entrada: chip, sin contacto, banda, fallback y digitación manual | Disponible |
| 23 | Número de secuencia de la tarjeta | Próximamente |
| 32, 33 | Código del adquirente y de la institución remitente | Próximamente |
| 35 | Pista 2 | Con el lector Bluetooth de cifrado punto a punto; en todos los modos de lectura: Próximamente |
| 37 | Número de referencia de la recuperación (RRN) | Disponible |
| 38, 39 | Código de autorización y código de respuesta (en la 0210) | Disponible |
| 41, 42, 43 | Terminal, comercio y nombre y ubicación con la afiliación asignada por el banco | Próximamente |
| 48 o el campo privado que defina el banco | Documento de identidad del pagador y otros datos locales | Se captura y viaja hasta el adquirente; su ubicación en el formato de cada banco: Próximamente |
| 52, 53 | Bloque de PIN bajo la llave de zona del banco e información de control de seguridad | Próximamente (ver Llaves y PIN) |
| 55 | Datos EMV (criptograma, TVR, contadores y demás) y, en la respuesta, ARPC y scripts del emisor | Disponible |
| 64/128 | Código de autenticación del mensaje (MAC) con el algoritmo del banco | Próximamente |
Campos de los reversos (0400 y 0420)
| DE | Contenido | Estado |
|---|---|---|
| 3, 4, 49 | Código de proceso, monto y moneda de la original | Disponible |
| 7, 11 | Fecha y hora de transmisión y STAN del reverso | Disponible |
| 37 | RRN de la original | Disponible |
| 39 | Motivo del reverso configurable por banco | Próximamente |
| 90 | Datos de la original | Disponible en el 0400 generado por el adquirente; completo en el 0420 iniciado por el comercio: Próximamente |
| 95 | Montos de reemplazo en reversos parciales | Próximamente |
Llaves y PIN
Los términos son genéricos; el procedimiento concreto se acuerda con cada banco.
| Elemento | Qué es | Estado |
|---|---|---|
| Cifrado de datos de tarjeta en el lector | El lector Bluetooth cifra los datos de la tarjeta con DUKPT; solo se descifran en el módulo criptográfico del adquirente. Los sistemas intermedios los ven cifrados. | Disponible en el lector Bluetooth; en los terminales Android con lector integrado: Próximamente |
| Captura del PIN | El terminal cifra el bloque de PIN con DUKPT y el servidor del comercio lo releva sin poder abrirlo. | Disponible |
| Inyección de llaves en los terminales | Carga de la llave inicial (IPEK) en un equipo de inyección en sala segura o por carga remota con bloques de llave TR-31, según lo defina el banco. | Próximamente |
| Traducción de PIN | Traducción del bloque DUKPT del terminal a la ZPK (llave de zona de PIN) del banco dentro de un HSM físico, sin que el PIN quede expuesto. | Próximamente |
| HSM físico certificado | Módulo criptográfico de hardware del adquirente, con una BDK por banco. | Próximamente |
| Llave maestra de zona (ZMK) | Establecida por ceremonia con componentes y custodios, verificada por KCV y con acta. | Próximamente |
| Llaves de trabajo (ZPK y ZAK) | Importadas bajo la ZMK y verificadas por KCV; rotación por 0800 o manual según la política del banco. | Próximamente |
| MAC | Algoritmo y cobertura que fije el banco (por ejemplo, ISO 9797-1 o CMAC AES), validados con vectores de prueba del banco. | Próximamente |
Débito con clave en línea hacia el banco: Próximamente. Requiere la inyección de llaves en los terminales, el HSM físico y la traducción a la ZPK del banco. Mientras tanto, la conexión con un banco se certifica para las operaciones y modos de verificación que el banco acepte.
Medios en hoja de ruta, sujetos a la certificación correspondiente: cobro sin contacto en el teléfono (Tap to Phone) y PIN en la pantalla del teléfono.
Reversos y avisos
- Timeout del banco. El switch adquirente responde al comercio con 91 y genera un 0400 con los datos de la original, que reintenta desde una cola persistente (store-and-forward) dentro de una ventana acotada. Agotada la ventana, el caso queda como excepción para gestión operativa y conciliación. MTI y código de motivo configurables por banco: Próximamente.
- Reverso del comercio o del terminal. Cuando la tarjeta rechaza el cierre EMV tras una aprobación, o el resultado no llegó al terminal, se envía un 0420 referido a la original, que el adquirente remite al banco que la recibió.
- Una sola fuente de reverso por venta, con la identidad saliente del adquirente en el DE 90: Próximamente.
- Avisos 0120/0220 (operaciones fuera de línea y completaciones): Próximamente. Mientras tanto, las operaciones fuera de línea no se ofrecen en la conexión con un banco.
Códigos de respuesta
El adquirente entrega al terminal el DE 39 del banco y lo interpreta así:
| DE 39 | Significado para el comercio |
|---|---|
| 00 | Aprobada |
| 91, 96, 68 o sin respuesta | En duda: la venta no se da por cobrada y se reversa |
| 10 | Aprobación parcial: no se admite hoy; su soporte, si el banco lo exige: Próximamente |
| Cualquier otro | Rechazada, con el código del banco |
Tabla de traducción completa por banco (incluidos sus códigos propios, con 96 por omisión para lo no mapeado) y lista de códigos aprobados configurable: Próximamente.
Cierre y conciliación
| Proceso | Estado |
|---|---|
| Cierre de lote del terminal con totales por tipo, cotejado con el registro del adquirente | Disponible |
| Corte y cotejo de totales con el banco (0520/0522) o por archivo | Próximamente (se acuerda con cada banco) |
| Ingesta del archivo diario del banco y conciliación por transacción (RRN, STAN, terminal y monto) | Próximamente |
| Estado «abonado por el banco» visible para el comercio en el portal | Próximamente |
Más detalle en el ciclo de vida de la transacción.
Qué necesitamos del banco
Esta es la lista de incorporación y certificación. Con ella FINORA configura el formato del banco, las llaves y los casos de prueba.
Especificación del host
- Documento de interfaz host-to-host: versión ISO 8583 (1987 o 1993), codificación (ASCII, EBCDIC o BCD), cabecera y prefijo de longitud, bitmap y representación de campos binarios.
- Formato por MTI: 0100/0200, 0120/0220, 0400/0420 (y si exige 0401/0421), 0500/0520/0522 y 0800 (sign-on, echo, cambio de llave, corte), con campos obligatorios, condicionales y prohibidos.
- Campos privados: dónde van el documento de identidad del pagador, el tipo de cuenta y los datos del comercio (DE 43, DE 48, DE 60 a 63, DE 120 a 127).
- Identificadores: afiliación del comercio (DE 42), terminal (DE 41), código de adquirente (DE 32/33), reglas de STAN y RRN (unicidad y quién los genera) y DE 15.
- Anulación y devolución: mensaje esperado, referencia a la original y ventanas.
- Reversos: DE 90 esperado, código de motivo, repetición y ventana máxima.
- Aprobación parcial: si se admite y cómo se señaliza.
- Tabla de códigos de respuesta y su significado, incluidos los propios del banco.
- MAC: algoritmo, cobertura y campo.
- Tiempos de espera, ventanas de reintento, conexiones simultáneas, modelo de sockets (uno o dos), niveles de servicio y ventanas de mantenimiento.
Llaves y seguridad
- Procedimiento de ceremonia de la ZMK por componentes (custodios, KCV y acta).
- ZPK y ZAK: entrega inicial, rotación (por 0800 o manual) y periodicidad.
- Política de PIN: formatos aceptados, obligatoriedad del débito con clave en línea, requisitos del teclado de PIN (PCI PTS) y aceptación o no del PIN en pantalla y de Tap to Phone.
- Quién inyecta las llaves de los terminales (equipo de inyección del banco o carga remota con TR-31) y la BDK.
- Exigencia de cifrado punto a punto para los datos de tarjeta.
- Conectividad: VPN, TLS mutuo y certificados. Direcciones y puertos se intercambian por un canal privado.
Ambiente de certificación
- Ambiente de pruebas del banco con tarjetas de prueba por marca y producto (débito con clave, crédito, prepago).
- Guion de certificación del banco (casos, evidencia esperada y criterios de aprobación) y, si aplica, los requisitos de las marcas para EMV y sin contacto.
- Casos mínimos: compra con chip, sin contacto, banda y fallback; débito con clave por tipo de cuenta; rechazos; timeout con reverso; reverso duplicado; anulación; devolución; aprobación parcial (si aplica); aviso fuera de línea; cambio de llave; echo y sign-on en ambos sentidos; corte de totales; archivo de liquidación.
- Vectores de prueba de MAC y de traducción de PIN.
Liquidación, conciliación y riesgo
- Anexo de liquidación: quién abona al comercio, quién retiene comisiones e impuestos, plazo (T+n), hora de corte y día contable.
- Archivos del banco: transacciones liquidadas, abonos, contracargos y recuperaciones (formato, canal seguro de transferencia y horario).
- Proceso de contracargos: plazos, evidencias y responsabilidades del comercio y del adquirente técnico.
- Política de autorización en nombre del banco (stand-in): si el banco la quiere y con qué límites. Por omisión está desactivada.
- Requisitos regulatorios del banco como adquirente de registro: afiliación, conocimiento del comercio y reportes.
Certificación con el banco
- Intercambio de la especificación y configuración del formato del banco.
- Ceremonia de llaves y prueba de conectividad (sign-on y echo).
- Ejecución del guion de certificación del banco en su ambiente de pruebas.
- Piloto controlado con un grupo reducido de comercios.
- Paso a producción.
Para preparar los casos de prueba de mensajería, puedes usar el simulador ISO 8583 y EMV.