Getnet DocsGetnet Docs

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 pelo EmvL3Flow.

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.

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:

  1. Tratamento de Cartão e EMV: como o terminal gerencia as tecnologias de leitura, os protocolos EMV e as regras de fallback de tecnologia.
  2. Modelo de Segurança e PIN: os requisitos criptográficos de RSA e DUKPT que garantem a segurança dos dados processados.
  3. Criptografia do Pinpad: qual esquema protege cada elemento de dados e como as chaves são selecionadas.