Interoperabilidad de pinpads: Fiserv vs Prisma

Al 16/10/2026 · Fuentes: manuales Prisma / Fiserv y código de ULTRAHOST

Resumen

Cruzar pinpads entre Fiserv y Prisma es posible a nivel llaves, porque ambos hosts usan MasterSession en UltraHost, pero ninguna combinación funciona hoy sin cambios. El principal bloqueante para usar un pinpad Prisma con Fiserv es el largo de la working key.

PinpadProcesador FiservProcesador Prisma
Fiserv (protocolo F0101)Funciona hoy (MODELO=FISERV)Factible del lado UltraHost (MK de Prisma inyectada + cambios); falta confirmar que Prisma acepte MasterSession en terminales nuevas
Prisma Lane3000Solo si Fiserv emite WK simple; tiene slot 0 "FISERV SDES"Funciona hoy (MODELO=PRISMA)
Prisma Android N910 / N6No: solo DUKPTSolo DUKPT, sin código en UltraHost

Modelos de gestión de llaves

Fiserv opera con MasterSession (llave maestra + working keys); el host actual de Prisma documenta el PIN solo con DUKPT. Cada familia de pinpads soporta una parte distinta.

Familia de pinpadMasterSession (MK/WK)DUKPT 3DESEncripción de datos (tracks)Sincronización de WK en el pinpad
Protocolo Fiserv F0101 (SP_PP-Caja V02/V04)Sí, MK por posición de host 0..9No documentadoDES / 3DES con WK de datos, o RSAComandos S00 / S01 / S02
Prisma Lane3000 (Ingenico)Sí, "toda la familia de pinpads de Prisma soporta MasterSession"Sí, solo PIN (según firmware)Deprecada (campo ENC); RSA para PAN/track/CVVNo tiene
Prisma Android N910 Plus / N6No (WRK se omite)Sí, solo PINSolo RSANo tiene

Slots de llaves y campos de los comandos

El manual del Lane3000 reserva el slot 0 para una llave maestra Fiserv de DES simple, pero su campo de WK solo admite llaves de longitud simple.

Slots por defecto del Lane3000 (manual v2.2, sección 2.5; pueden venir vacíos, confirmar con el ejecutivo de cuenta):

Slot (PMK)Llave
0FISERV SDES
1Prisma SDES
2Prisma 3DES

Los Android usan PMK G (N910 Plus, slot 16) y 2 (N6) para DUKPT.

Campos de Y02 / Y19 comparados:

CampoFiserv F0101 V04Prisma Lane3000 v2.2Prisma Android v2.2
PMK (posición de MK)0..9 o N0..9 o N0..F, G o N
LWK (longitud de WK)1 simple, 2 doble, 3 tripleNo existeNo existe
Working key de PINWKP, 1..48 caracteresWRK, 1..16 caracteres (DES simple)WRK se omite (solo DUKPT)
Working key de datosWKD, 1..48 caracteresNo existeNo existe
ENC0 nada, 1 DES, 2 3DES, 3 RSA datos + DES PIN0/1, deprecado; ENC con slot DUKPT da errorRSA con llave pública en Y19
Identificador de llave devueltoIDE, 16N, obtenido en S01NSL 16 dígitos (MasterSession) o KSN 20 hex (DUKPT)TKSN 20 hex
Tipo de encripción devueltoTDE: D, T o RSe detecta por largo de NSL/KSNDUKPT
Comandos de sincronizaciónS00, S01 (hosts + PMK + IDE), S02 (carga de WK)No tieneNo tiene

Lado host: ISO8583

Ambos hosts llevan el PIN block en el campo 52; la diferencia está en cómo identifican la llave: Fiserv con el IDE y WK descargadas por 0800, Prisma con el KSN de DUKPT en el campo 59.

DatoFiserv (según SP_PP-Caja F0101)Prisma (Manual Integración CD v1.2.5)
PIN blockCampo 52Campo 52, b64, "tal cual lo devuelve el PIN PAD"
Identificador de llaveIDE (16N) en campo 59, producto 000KSN (20 hex) en campo 59, producto 084, subcampo 209
Capacidad de encripciónNo documentada en estos manualesCampo 59, producto 028, subcampo 078, valor asignado por Prisma (nota de reunión: "mandar un 6")
Datos de tarjeta cifradosCampo 47: tipo de encripción (TDE) + paquete cifrado (EPT)Tracks en plano o según modo; no hay WK de datos documentada
Serie del pinpadCampo 59, producto 039 (NSF)No documentado para PIN
Descarga de WK0800 por host en la sincronización; nueva WK de PIN en la respuesta de transacciones con PINNo documentada
Error de llaves"Error en encripción": cerrar lote y resincronizarCódigo de respuesta 98 "Desincronización de Working Key": reintentar

Qué implementa ULTRAHOST

UltraHost opera MasterSession con ambos procesadores: Fiserv con WK doble (32 hex) por 0800, Prisma con WK simple (16 hex) que llega en el campo 52 de cada respuesta. DUKPT solo pasa el KSN, sin derivar llaves.

AspectoProcesador FiservProcesador Prisma
Protocolo de pinpadFiserv F0101: Y00, Y01, Y41, Y02, Y03, Y04, Y06, Y07, S00, S01, S02 (V02/V04 por terminal)Prisma: Y01, Y02, Y03, Y06, Y07, Y08, Y09, Y15, Y19
Selección del protocoloGlobal: [PINPAD] MODELO=FISERVGlobal: [PINPAD] MODELO=PRISMA
PMK que se envía0 fijo1 por defecto, 2 si el emisor tiene iUsaWorkingKeyNro=2
Obtención de WK0800 con pcode 920000; IDE en campo 62; WK de PIN y de datos en campo 60 de la 0810No hay 0800; la WK nueva viene en el campo 52 de la respuesta
Largo de WKDoble (16 bytes) forzado en Y02 y S02; el decodificador acepta 1/2/3Simple (8 bytes) desde el campo 52; Y02 acepta hasta 32 hex
WK de datosSí (cWorkingData); obligatoria con ENCRIPTA=2No
Encripción de datosENC 2 (3DES) o 0; RSA no implementadoENC 1/0; tracks y CVV con RSA (Y19, rsakeyprivate.pem)
Campo 47 TDESe fuerza 2Se fuerza 1
Campo 59 identificadorIDE: 0000001016000 + 16NSL: 0000001019000 + 16 (relleno con F), o KSN: 0840001023209 + 20
Campo 59 capacidad 3DES0280001001078202800010040786 (comentario: "antes len era 001 y ahora 004")
Campo 59 producto 0020020001001009100200010040091
Código 98Sin manejo específicoSin manejo específico ni resincronización automática

Escenarios de interoperabilidad

Ninguna de las dos direcciones funciona hoy sin cambios; ambas son técnicamente posibles porque los dos hosts usan MasterSession en UltraHost, siempre que el pinpad tenga la MK del otro procesador inyectada.

Pinpad Prisma (Lane3000) con procesador FiservPinpad Fiserv con procesador Prisma
Llave maestraSlot 0 "FISERV SDES" previsto de fábrica (puede venir vacío)Hay que inyectar la MK de Prisma en una posición (S01 admite varios hosts; el ejemplo trae VISA)
Largo de WKBloqueante: Fiserv entrega WK doble (32 hex) y el Lane3000 acepta hasta 16 en WRKCompatible: Prisma entrega WK simple; el protocolo Fiserv admite LWK=1
SincronizaciónEl Lane3000 no tiene S00/S01/S02; UltraHost tendría que pedir el 0800 sin el pinpadNo hace falta 0800; la WK llega en el campo 52
WK de datosFiserv con ENCRIPTA=2 exige WK de datos; el Lane3000 no la tiene. Con ENCRIPTA=0 no se envíaPrisma no da WK de datos, así que ENC=1 no sirve. Candidato: ENC=0, pero V02 y V04 difieren sobre si permite PIN online
Campo 59Fiserv espera IDE (000 sublargo 016); el Lane3000 da NSL de 16 dígitos, equivalencia sin confirmarPrisma espera NSL (000 sublargo 019); el pinpad Fiserv da IDE de 16 dígitos, equivalencia sin confirmar
Cambios en UltraHostPMK 0 para Fiserv en el flujo Prisma; 0800 de sincronización sin S0x; mapear NSL a IDESeparar MODELO por procesador o terminal; LWK=1 y WK de datos opcional en el Y02 Fiserv; mapear IDE a NSL; TDE 1 en campo 47
VeredictoSolo si Fiserv emite WK simple. Si no, noFactible del lado UltraHost (MK de Prisma inyectada + cambios); falta confirmar que Prisma acepte MasterSession en terminales nuevas

Pinpads Android de Prisma (N910, N6): no sirven para Fiserv. Solo hacen DUKPT y Fiserv no documenta DUKPT ni KSN.

Mismo pinpad para los dos procesadores: el Lane3000 ya prevé MK de Fiserv (slot 0) y de Prisma (slots 1 y 2), y el comentario de 2022 en UltraHost elegía la MK según la marca de la tarjeta. El límite es el largo de la WK de Fiserv y que MODELO es global.

Preguntas abiertas

Siete puntos definen si el cruce es viable; cinco dependen de los procesadores.

Fuentes

Manuales (C:\Work\AI\UltraHostDocs):

Código (C:\Work\AI\FISERV\ULTRAHOST):