Arquitetura do sistema
O software Pinpad Getnet é construído sobre uma arquitetura modular projetada para operar como um periférico de pagamento seguro. Ele processa comandos de forma assíncrona e gerencia os estados da transação de forma centralizada. Um fluxo de interface (UI) gerenciado garante uma experiência de usuário consistente.
Estrutura interna de software
A arquitetura do aplicativo é formada por módulos especializados que interagem para gerenciar a comunicação, as interfaces de hardware e a lógica de negócio. Esse design assíncrono permite que o sistema mantenha vários comandos em diferentes estágios de execução ao mesmo tempo.
Módulos principais
SerialCom: biblioteca que oferece uma interface unificada para estabelecer a comunicação serial. Ela gerencia a inicialização e a configuração da porta, incluindo baud rate, data bits, parity e stop bits.HandlerCommands(orquestrador de comandos): controlador de lógica central responsável pelo ciclo de vida dos comandos suportados: Y19, Y02, Y03, Y15, Y06, Y0Q, Y0E, YDL e Y0I. Cada comando tem sua própria máquina de estados independente.Transaction: centraliza todos os dados e status da transação ativa. Atua como a única fonte de verdade para valores, dados do cartão e estados de erro.CardReader: gerencia as interações físicas com os leitores de cartão (CHIP, CTLSS, BANDA). Ele monitora os estados de leitura e monta as tags TLV necessárias para a comunicação com o host.EmvL3Flow: coordena o complexo protocolo EMV. Ele carrega as configurações (AIDs/CAPKs) e coordena a autenticação. Em especial, ele inicia automaticamente a solicitação de PIN quando o protocolo do cartão exige.PinEntryActivity: gerencia o teclado seguro para a entrada de PIN pelo usuário. Suporta fluxos de validação online, offline e offline criptografado, conforme acionados peloEmvL3Flow.

Comportamento do sistema e fluxo de UI
O aplicativo garante a integridade da transação por meio da persistência do processo e de um sistema de navegação gerenciado.
Serviço em primeiro plano
O aplicativo é executado como um foreground service do Android. Isso impede que o sistema operacional encerre o processo durante o uso ativo. Assim, a comunicação serial e a lógica de transação permanecem persistentes em momentos críticos.
Navegação de UI/UX
A navegação é controlada por uma função NAV especializada, que gerencia as telas ativas com base no estado da transação. As principais telas do sistema incluem:
- IDLE: o estado base, aguardando uma ação.
- Aguardando cartão: pede ao usuário que insira, aproxime ou passe o cartão.
- Seleção de aplicativo: usada quando o cartão contém vários Identificadores de Aplicativo (AIDs).
- Entrada segura: telas específicas para entrada de PIN, códigos de segurança (CDS) ou verificação dos dígitos do cartão.
- Processamento: indica que uma operação está em andamento.
- Cancelamento / Erro temporário: telas de feedback para operações que falharam ou foram abortadas.
Recursos relacionados
Agora que você entende a arquitetura interna e como os módulos interagem, explore o tratamento técnico dos diferentes tipos de cartão e dos protocolos de segurança:
- Tratamento de Cartão e EMV: como o terminal gerencia as tecnologias de leitura, os protocolos EMV e as regras de fallback de tecnologia.
- Modelo de Segurança e PIN: os requisitos criptográficos de RSA e DUKPT que garantem a segurança dos dados processados.
- Criptografia do Pinpad: qual esquema protege cada elemento de dados e como as chaves são selecionadas.