Getnet DocsGetnet Docs

Arquitectura del sistema

El software Pinpad de Getnet se basa en una arquitectura modular diseñada para funcionar como un periférico de pago seguro. Procesa comandos de forma asíncrona, gestiona los estados de la transacción de forma centralizada y garantiza una experiencia de usuario consistente mediante un flujo de interfaz gestionado.

Estructura interna del software

La arquitectura de la aplicación consta de módulos especializados que interactúan para gestionar la comunicación, las interfaces de hardware y la lógica de negocio. Este diseño asíncrono permite que el sistema mantenga varios comandos en distintas etapas de ejecución al mismo tiempo.

Módulos principales

  • SerialCom: Biblioteca que ofrece una interfaz unificada para establecer la comunicación serie. Gestiona la inicialización y la configuración del puerto, incluidos baud rate, data bits, parity y stop bits.
  • HandlerCommands (Orquestador de comandos): El controlador de lógica central responsable del ciclo de vida de los comandos soportados: Y19, Y02, Y03, Y15, Y06, Y0Q, Y0E, YDL e Y0I. Cada comando tiene su propia máquina de estados independiente.
  • Transaction: Centraliza todos los datos y estados de la transacción activa. Actúa como única fuente de verdad para los importes, los datos de la tarjeta y los estados de error.
  • CardReader: Gestiona las interacciones físicas con los lectores de tarjetas (CHIP, CTLSS, BANDA). Monitorea los estados de lectura y construye las etiquetas TLV necesarias para la comunicación con el host.
  • EmvL3Flow: Coordina el complejo protocolo EMV. Carga las configuraciones (AIDs/CAPKs) y coordina la autenticación. Cabe destacar que lanza automáticamente la solicitud de PIN si el protocolo de la tarjeta lo requiere.
  • PinEntryActivity: Gestiona el teclado seguro para la entrada del PIN del usuario. Admite flujos de validación online, offline y offline cifrado, según lo active el EmvL3Flow.

Comportamiento del sistema y flujo de UI

La aplicación garantiza la integridad de la transacción mediante la persistencia del proceso y un sistema de navegación gestionado.

Servicio en primer plano

La aplicación se ejecuta como un foreground service de Android. Así, el sistema operativo no termina el proceso durante el uso activo. De este modo se mantiene la persistencia de la comunicación serie y de la lógica de la transacción en los momentos críticos.

La navegación la controla una función NAV especializada que gestiona las pantallas activas según el estado de la transacción. Las pantallas principales del sistema son:

  • IDLE: El estado base que espera una acción.
  • Esperando tarjeta: Solicita al usuario insertar, aproximar o pasar una tarjeta.
  • Selección de aplicación: Se usa cuando una tarjeta contiene varios Identificadores de Aplicación (AIDs).
  • Entrada segura: Pantallas específicas para la entrada del PIN, los códigos de seguridad (CDS) o la verificación de dígitos de la tarjeta.
  • Procesando: Indica que hay una operación en curso.
  • Cancelación / Error temporal: Pantallas de feedback para operaciones fallidas o abortadas.

Recursos relacionados

Ahora que conoce la arquitectura interna y cómo interactúan los módulos, puede explorar el tratamiento técnico de los distintos tipos de tarjeta y los protocolos de seguridad:

  1. Tratamiento de Tarjetas y EMV: cómo el terminal gestiona las tecnologías de lectura, los protocolos EMV y las reglas de fallback tecnológico.
  2. Modelo de seguridad y PIN: los requisitos criptográficos de RSA y DUKPT que garantizan la seguridad de los datos procesados.
  3. Cifrado del Pinpad: qué esquema protege cada elemento de datos y cómo se seleccionan las claves.