Getnet DocsGetnet Docs

Especificaciones de EMV Tags para Tarjeta Presente

En un entorno Tarjeta Presente, la seguridad de la transacción se basa en el intercambio de datos Tag Length Value (TLV) entre el chip de la tarjeta y la pasarela (gateway) de Getnet. Esta página proporciona una referencia técnica de las etiquetas EMV específicas que suelen incluirse en la carga de datos emv de la Regional API.

La anatomía de una etiqueta (TLV)

Cada elemento de datos dentro de la cadena emv generada por el hardware sigue el formato estándar TLV:

  • Etiqueta (Tag): Un identificador hexadecimal de 1 o 2 bytes (p. ej., 9F26).
  • Longitud (Length): El tamaño del valor siguiente en bytes.
  • Valor (Value): La carga de datos real (un criptograma o un código de moneda).

EMV Tags principales (Obligatorias y Comunes)

Basándose en las cargas de datos de hardware validadas (como la integración de Chile/CLP), las siguientes etiquetas son fundamentales para una autorización con éxito.

EtiquetaNombreOrigenDescripción
9F26Application Cryptogram (ARQC)ICCUn criptograma exclusivo de 8 bytes generado por el chip de la tarjeta y utilizado por el emisor para verificar la autenticidad de la tarjeta en cada transacción.
9F02Amount, AuthorizedTerminalEl importe de la transacción en formato numérico (en céntimos).
9F34CVM ResultsTerminalRegistra el resultado de la negociación del Método de Verificación del Titular (PIN Online verificado, Sin CVM). La pasarela lo utiliza para confirmar el método de verificación aplicado.
95Terminal Verification Results (TVR)TerminalUn mapa de bits de 5 bytes que indica qué comprobaciones de seguridad se han realizado y sus resultados (autenticación de datos fuera de línea, verificación del PIN).
9F33Terminal CapabilitiesTerminalDefine las capacidades admitidas por el terminal para la entrada de datos de la tarjeta, el CVM y las funciones de seguridad.
9F10Issuer Application Data (IAD)ICCDatos patentados del emisor integrados en la tarjeta, utilizados para la gestión de riesgos y la validación de criptogramas.
9F36Application Transaction Counter (ATC)ICCUn contador mantenido por el chip de la tarjeta que se incrementa con cada transacción, evitando ataques de reproducción.
9F37Unpredictable NumberTerminalUn número aleatorio de 4 bytes generado por el terminal para cada transacción con el fin de garantizar la exclusividad del criptograma.
5F2ATransaction Currency CodeTerminalEl código numérico de moneda ISO 4217 (0032 para CLP, 0986 para BRL).
5F34PAN Sequence Number (PSN)ICCDiferencia entre varias tarjetas emitidas para la misma cuenta que comparten el mismo Primary Account Number (PAN).
9ATransaction DateTerminalLa fecha en que se inició la transacción, en formato AAMMDD.
9CTransaction TypeTerminalIndica el tipo de transacción financiera (00 para Compra).
9F1ATerminal Country CodeTerminalEl código numérico de país ISO 3166-1 de la ubicación del terminal (0152 para Chile).

Validación detallada de la carga de datos (Payload)

Para garantizar que su implementación sea robusta, su hardware debe concatenar estas etiquetas en una única cadena hexadecimal para el campo data.payment.card.emv.

El campo emv debe contener todas las etiquetas como una única cadena codificada en hexadecimal sin espacios. No incluya espacios ni separadores entre los elementos TLV.

Ejemplo de cadena decodificada

Este es un desglose de cómo la pasarela lee una carga útil de chip validada extraída de una transacción real:

9F26 08 819BA36F3F793414

  • Etiqueta: 9F26 (Application Cryptogram)
  • Longitud: 08 (8 bytes)
  • Valor: 819BA36F3F793414 (El ARQC)

La cadena emv completa en la solicitud de la API tendría este aspecto (todas las etiquetas concatenadas sin espacios):

9f2701809f3303e0f8c8950580000080009f37045d21705a9f100706010a03a0b8089f2608819ba36f3f7934149f360205b782021c009c01009f1a0204849a032002279f02060000000309605F2A0200325f3401019f34031e0300

Prácticas recomendadas de seguridad

  • No codifique listas de etiquetas (Hardcoding): Los requisitos de las etiquetas pueden evolucionar en función de las regulaciones regionales o las actualizaciones de los esquemas de tarjetas. Su analizador (parser) debe ser lo suficientemente flexible como para gestionar etiquetas inesperadas sin fallar.
  • Codificación hexadecimal: Asegúrese de que todos los datos TLV se conviertan correctamente en una cadena codificada en hexadecimal antes de enviarlos a la API.
  • Gestión de datos sensibles: Aunque en el estándar EMV existen etiquetas como 5A (PAN) o 57 (Track 2 Equivalent Data), suelen enviarse en campos dedicados de la API (card.number, card.track_2) en lugar de dentro de la cadena emv genérica para mantener el cumplimiento de PCI DSS.
  • Validación del ARQC: El Application Cryptogram (9F26) es la etiqueta más crítica. Un ARQC no válido o inexistente provocará la denegación de la transacción.

Leer más

  • Validación de PIN: Requisitos técnicos para la transmisión de pin_block y ksn.
  • Modos de entrada de tarjeta: Cómo cambiar entre chip, chip_contactless y magnetic_stripe.
  • Visión General de la Tecnología EMV: Análisis detallado de las etiquetas TLV y los criptogramas de chip.
  • Pagos de un solo paso: Guía paso a paso de su primera venta física.