Getnet DocsGetnet Docs

Manejo de errores

La aplicación Pinpad Getnet utiliza un sistema estructurado de notificación de errores para informar al Sistema Host sobre los problemas encontrados durante la ejecución de los comandos, las interacciones del usuario o los fallos de hardware.

El informe de error Y0E

Cuando un proceso falla o se interrumpe, el Pinpad envía automáticamente un informe Y0E. Se trata de una respuesta asíncrona que sustituye a la respuesta de éxito esperada (como un Y02). La lógica de su Sistema Host debe estar preparada para capturar un Y0E en cualquier punto durante un flujo de transacción activa.

Estructura de la respuesta Y0E [Pinpad]

El informe contiene identificadores específicos para ayudar a su software a diagnosticar el fallo:

CampoAtributoDescripción
[CID]3 ANSIdentificador de Comando (“Y0E”).
[COE]2 NCódigo de Error: Valor numérico identificativo de la causa original.
[MOE]20 ANSMensaje de Error: Texto descriptivo (ej., “CANCELADO”).

Códigos de error comunes

Comprender estos códigos es esencial para implementar una lógica de recuperación controlada y mensajes de usuario claros en su Sistema Host.

CódigoMensajeDescripción/Causa
01CANCELADOEl usuario pulsó el botón rojo “Cancelar” o el Host envió un comando Y06.
02FALLA LECTURAFallo general de lectura de la tarjeta (ej., chip dañado o banda ilegible).
03TARJETA INVALIDALa tarjeta no está admitida o está bloqueada.
04ERROR EMVSe ha producido un error de protocolo durante el flujo EMV L3.
05ERROR PINSe ha producido un error durante el proceso de introducción segura del PIN.
07TIMEOUTEl tiempo de espera para una acción del usuario o comando ha expirado.
08SIN LLAVESEl terminal no dispone de las claves DUKPT o RSA necesarias.

Gestión de los tiempos de espera (timeouts)

Para evitar que el dispositivo se bloquee indefinidamente si un usuario se marcha, el sistema emplea tiempos de espera dinámicos y respaldados por hardware.

Tiempos de espera de sesión

El Sistema Host define el tiempo máximo de espera para la interacción del usuario al inicio de la transacción.

  • Campo: [TEC] dentro del comando de inicialización (Y19).
  • Valor: Se establece en segundos (ej., 060 para 60 segundos).
  • Comportamiento: Si el usuario no presenta una tarjeta en este intervalo, el Pinpad aborta la operación y envía un Y0E con el código 07 (Timeout).

Tiempos de espera internos del hardware

Determinados eventos criptográficos o de inicialización del hardware tienen tiempos de espera internos fijos. Si un proceso interno falla debido a un fallo del hardware, el terminal suele devolver un código de error general.

Integridad de la comunicación (ACK/NAK)

Antes de que la lógica de la aplicación procese un comando, la capa de comunicación de bajo nivel (SerialCom) valida la integridad del mensaje.

  • <ACK> (06h): Se envía si la estructura del mensaje y el checksum LRC/CRC son correctos.
  • <NAK> (15h): Se envía si el mensaje está corrupto. Debe intentar reenviar inmediatamente el último comando enviado.

Próximos pasos

Una vez implementada la lógica de manejo de errores, puede avanzar hacia las etapas finales de su integración:

  1. Diccionario de Comandos de la API: Consulte la referencia técnica completa para cada comando y sus posibles estados de error.