# Introdução e modelo de integração

A solução Pinpad Getnet é um aplicativo de pagamento especializado desenvolvido para terminais **Newland N750P**. Este aplicativo transforma o dispositivo em um periférico de pagamento de alto desempenho, permitindo processar pagamentos com cartão via tarja magnética, chip e tecnologias contactless, além de gerar QR codes dinâmicos.

A solução se comunica com um **Sistema Host** através de uma interface de porta serial. Através desta conexão, o aplicativo recebe comandos padronizados, gerencia as interações físicas do hardware (como leitura de cartão ou captura de PIN) e retorna respostas formatadas com os dados necessários da transação.

## Modelo geral de integração

O modelo de integração define o fluxo coordenado entre o portador do cartão, o Pinpad, o Sistema Host e a autorizadora financeira.

1. **Requisição**: O Sistema Host inicializa a transação e formata um comando de requisição. Este payload é enviado ao terminal via interface serial.
2. **Interação**: O Pinpad recebe o comando e gerencia a interação física, solicitando ao usuário a inserção do cartão ou exibindo um QR code.
3. **Captura**: O portador do cartão insere, passa ou aproxima o seu cartão. O Pinpad captura os dados sensíveis e, se necessário, solicita um PIN usando seu teclado seguro.
4. **Recuperação de Dados**: O Pinpad retorna os dados processados ao Sistema Host.
5. **Autorização**: O Sistema Host se comunica com a **Autorizadora** (Switch/Banco) para aprovar ou recusar a solicitação.
6. **Finalização**: O Sistema Host encaminha a resposta da autorizadora ao Pinpad. Se a transação foi uma operação **EMV com contato (Chip)**, o Pinpad usa esses dados para realizar o "Second Generate AC" para concluir a transação.

## Arquitetura interna de software

O Pinpad Getnet é construído sobre uma arquitetura modular composta por bibliotecas especializadas e componentes que gerenciam o ciclo de vida do pagamento.

* **`SerialCom` (Biblioteca de Comunicação Serial)**: Uma biblioteca `.aar` reutilizável que fornece uma interface unificada para gerenciar o fluxo de dados brutos da porta serial entre o terminal e o Sistema Host.
* **`HandlerCommands` (Processador de Comandos)**: Este módulo gerencia o processamento dos comandos recebidos do Host. Ele opera usando sua própria máquina de estados interna para validar tipos de comandos (ex: Y19, Y02) e acionar a lógica apropriada.
* **`Transaction` (Estado da Transação)**: Um módulo centralizado que armazena o status atual, valores e metadados da transação em andamento para garantir relatórios de dados consistentes.
* **`CardReader` & `EmvL3Flow` (Lógica de Hardware)**: O `CardReader` lida com a detecção física do cartão em todas as interfaces. Uma vez detectado, o módulo `EmvL3Flow` executa as etapas complexas do protocolo EMV L3, incluindo a autenticação do cartão e a seleção do aplicativo.
* **`UI/UX` & `PinEntryActivity` (Interface do Usuário)**: `UI/UX` gerencia a navegação visual. Quando um PIN é necessário, o `EmvL3Flow` aciona a `PinEntryActivity`, que assume o controle exclusivo do teclado seguro do terminal para capturar a entrada do usuário com segurança.

## Próximos passos

Para começar sua integração:

1. Revise o [**Glossário**](/pt/host-to-host/glossary) para entender os formatos específicos de mensagens e terminologia.
2. Siga o guia de [**Configuração do Ambiente**](https://docs.globalgetnet.com/pt/products/in-store-payments/host-to-host?doc=h2h-environment-setup\&section=qhv6nzspm4fa7zajc43yr3ka) para preparar seu terminal Newland N750P.