# Tecnología EMV en SEP Tarjeta Presente

**EMV** (Europay, Mastercard y Visa) es el estándar global para pagos seguros con tarjeta de crédito y débito basado en la tecnología de tarjeta con circuito integrado (ICC). Dentro del ecosistema **Single Entry Point (SEP)**, la Regional API procesa estas transacciones consumiendo cadenas de datos cifradas por hardware capturadas durante la interacción física entre la tarjeta y el lector.

La integración de la tecnología EMV garantiza la protección de **Liability Shift**, trasladando el riesgo de chargebacks relacionados con el fraude del comercio al emisor de la tarjeta.

## El núcleo de EMV: datos TLV

A diferencia de las transacciones de comercio electrónico que utilizan números de tarjeta en texto claro, las transacciones EMV se comunican a través del formato **TLV (Tag-Length-Value)**. Esta codificación garantiza que los datos sensibles de la tarjeta y los criptogramas de la transacción se transmitan de forma segura.

- **Etiqueta (Tag)**: Un identificador hexadecimal para un elemento de datos específico (p. ej., `9F02` para Amount, Authorized).
- **Longitud (Length)**: Indica el tamaño del valor en bytes.
- **Valor (Value)**: La información real cifrada o codificada (el payload).

En la Regional API, toda esta colección de etiquetas se pasa como una única cadena hexadecimal concatenada en el campo **`emv`** dentro del objeto `card`.

## Implementación en la Regional API

Para procesar una transacción EMV, los desarrollores deben mapear los datos capturados por el hardware a la solicitud `POST /v2/payments`. La pasarela utiliza los siguientes campos para activar la lógica de procesamiento EMV:

| Campo | Requisito | Propósito Técnico |
| --- | --- | --- |
| **`payment_method`** | Obligatorio | Debe utilizar enums "Direct" (`DIRECT_CREDIT`). |
| **`emv`** | Obligatorio | La cadena TLV completa recogida del chip de la tarjeta. |
| **`entry_mode`** | Obligatorio | Debe establecerse en `chip` (contacto) o `chip_contactless` (NFC). |
| **`aid`** | Obligatorio | El Identificador de Aplicación (p. ej., `A0000000031010` para Visa). |

## Métodos de Verificación del Titular (CVM)

El campo **`cardholder_verification_method`** define cómo se confirma la identidad del cliente durante la transacción:

* **`online_pin`**: El PIN es cifrado por el hardware y enviado al emisor para su validación en tiempo real.
* **`offline_pin`**: El PIN es validado localmente por el chip de la tarjeta.
* **`signature`**: El cliente proporciona una firma física o digital.
* **`no_cvm`**: Se omite la verificación (común en pagos sin contacto de bajo valor).

## Seguridad y Validación de PIN Online

Para las transacciones que requieren **PIN Online**, la API utiliza el sistema de gestión **DUKPT** (Derived Unique Key Per Transaction) para garantizar el cumplimiento de PCI.

### Objetos de PIN Obligatorios

Cuando `cardholder_verification_method` se establece en `online_pin`, los siguientes campos son obligatorios:

1. **`pin_block`**: Una carga útil de PIN cifrada con formato ISO-9564.
2. **`ksn` (Key Serial Number)**: Una cadena hexadecimal de 20 dígitos utilizada por la pasarela para identificar la clave de descifrado.

### Contexto del Service Code

La API también evalúa indicadores especializados para confirmar la naturaleza física de la tarjeta:

* **`chip`**: Se establece en `true` para confirmar la presencia de un chip físico.
* **`pin_required`**: Informa a la pasarela si el PIN era obligatorio para esa tarjeta específica.

## Leer más

Para continuar con su integración, explore estas guías técnicas relacionadas:

- **[Visión General de Tarjeta Presente]()**: Conozca la arquitectura unificada de SEP y la disponibilidad regional.
- **[Modos de Entrada de Tarjeta]()**: Desglose detallado de las cargas útiles de `chip`, `chip_contactless` y `magnetic_stripe`.
- **[Pagos de Un Solo Paso]()**: Aprenda a realizar transacciones inmediatas de venta y captura.
- **[Pagos Preautorizados]()**: Implemente el flujo de dos pasos para reservas y capturas diferidas.