# Arquitetura

Esta página explica a arquitetura técnica do Get Mini App2App e como os componentes interagem para processar transações de pagamento.

## Arquitetura App-to-App

O Get Mini App2App usa uma arquitetura baseada em Intent para permitir a comunicação entre o seu aplicativo e o aplicativo Get Mini. Em vez de implementar protocolos EMV de baixo nível ou gerenciar conexões diretas de hardware, você delega essas tarefas ao aplicativo certificado Get Mini.

O fluxo de comunicação segue um padrão simples de solicitação-resposta. O seu aplicativo gera um Intent do Android contendo os dados da operação, o aplicativo Get Mini é iniciado e gerencia a interação com o PIN pad e a comunicação com o host bancário, e então retorna o controle para o seu aplicativo com os resultados da transação.

## Componentes

A arquitetura consiste em três componentes principais que trabalham juntos para processar transações.

### Seu Aplicativo

O seu aplicativo Android é responsável por criar solicitações Intent com a ação e os parâmetros apropriados, iniciar o aplicativo Get Mini usando o sistema Intent do Android, lidar com os dados de resposta retornados após a conclusão das transações e exibir os recibos enquanto gerencia a experiência do usuário.

### Aplicativo Get Mini

O aplicativo Get Mini lida com toda a lógica de processamento de pagamentos, incluindo o gerenciamento da comunicação com o hardware do PIN pad, processamento de transações EMV de acordo com as especificações das bandeiras de cartão, comunicação com o gateway de pagamento e o host bancário, geração de recibos certificados e retorno dos resultados da transação para o seu aplicativo.

### Dispositivo PIN pad

O dispositivo PIN pad é um componente de hardware certificado que lê cartões de pagamento através dos métodos de chip, aproximação (contactless) ou tarja magnética, captura as entradas de PIN do portador do cartão e executa as operações criptográficas necessárias para transações seguras.

## Diagrama de Fluxo de Comunicação

Seu aplicativo e o aplicativo Get Mini trocam dados em um padrão de requisição e resposta. Seu aplicativo envia a operação. O aplicativo Get Mini controla o PIN pad e devolve o resultado pelo mesmo caminho.

```mermaid
%%{init: {'theme':'base', 'themeVariables': {
  'actorBkg':'#F6E9EA', 'actorBorder':'#A4262C', 'actorTextColor':'#1A1A1A',
  'actorLineColor':'#BFBFBF', 'signalColor':'#4A4A4A', 'signalTextColor':'#1A1A1A',
  'labelBoxBkgColor':'#FAF0F1', 'labelBoxBorderColor':'#A4262C', 'labelTextColor':'#1A1A1A'
}}}%%
sequenceDiagram
    participant App as Your App
    participant GetMini as Get Mini App
    participant Device as PIN pad

    App->>GetMini: Intent Request
    GetMini->>Device: Card read and PIN entry
    Device-->>GetMini: Encrypted card data
    GetMini-->>App: Result Callback
```

## Recibos Certificados (Boleta)

Um componente crítico desta arquitetura é o manuseio de recibos. O aplicativo Get Mini gera um **ticket certificado** (Boleta) validado pela Get Mini. Para garantir a conformidade com os requisitos das bandeiras de cartão, o seu aplicativo recebe uma referência a este documento (uma URL ou URI) em vez de dados brutos do recibo. Você pode então usar essa referência para exibir, compartilhar ou imprimir o recibo oficial em PDF.

## Considerações de Segurança

A arquitetura App2App oferece benefícios de segurança significativos. Os dados do cartão de pagamento nunca passam pelo seu aplicativo, e todas as operações criptográficas sensíveis são realizadas no aplicativo certificado Get Mini e no PIN pad. O seu aplicativo recebe apenas os resultados das transações e as referências dos recibos, mantendo-o fora do escopo de conformidade do PCI DSS.

## Próximos Passos

Agora que você entende a arquitetura, continue com:

1. [Pré-requisitos e Configuração](/pt/get-mini/get-mini-app2app/first-steps/prerequisites-and-setup) - Configure seu ambiente de desenvolvimento
2. [Início Rápido: Sua Primeira Transação](/pt/get-mini/get-mini-app2app/first-steps/quick-start-your-first-transaction) - Processe sua primeira transação de pagamento
3. [Comunicação Baseada em Intent](/pt/get-mini/get-mini-app2app/core-concepts/intent-based-communication) - Saiba mais sobre como Intents funcionam nesta integração