# Introdução à Integração App2App

Quando você utiliza o modo de integração App-to-App (App2App), o seu aplicativo Android existente (o Client App) funciona em conjunto com o aplicativo Tap on Phone (o Whitelabel App) instalado no mesmo dispositivo móvel.

Nesta configuração, o seu aplicativo atua como a interface principal para o lojista, enquanto o aplicativo Tap on Phone gerencia os processos de pagamento seguros e em conformidade com o PCI. Você se comunica com o aplicativo Tap on Phone usando Android Intents padrão.

## Divisão de Responsabilidades

Para garantir segurança e flexibilidade, as responsabilidades são estritamente divididas entre o seu aplicativo e o aplicativo Tap on Phone.

### Seu Aplicativo (Client App)

O seu aplicativo gerencia a lógica de negócio geral e a experiência do lojista. Você é responsável por:

* **Autenticação de Usuário**: Fazer o login do lojista e gerenciar sua sessão.  
* **Iniciação de Transação**: Acionar as solicitações de pagamento, estorno ou cancelamento com os valores e identificadores corretos.  
* **Gestão de Recibos**: Gerar, exibir e enviar recibos digitais (ex: por e-mail ou código QR) para o cliente.  
* **Relatórios**: Gerenciar o histórico de transações, dados de vendas e relatórios de negócios.  
* **Fluxos Pós-Transação**: Gerenciar programas de fidelidade ou outras etapas de checkout personalizadas.

### Aplicativo Tap on Phone (Whitelabel App)

O aplicativo Tap on Phone é totalmente dedicado à fase de execução do pagamento. Suas responsabilidades incluem:

* **Leitura de Cartão**: Ler com segurança o cartão por aproximação ou a carteira digital do cliente (ex: Google Pay, Apple Pay).  
* **Gestão de PIN**: Gerenciar a inserção segura do PIN quando exigido pelo valor da transação ou pelo emissor do cartão.  
* **Status da Transação**: Exibir o resultado imediato e em tempo real do processamento do pagamento (Aprovado ou Negado) antes de devolver o controle ao seu aplicativo.

## Mecanismos de Comunicação

O seu aplicativo interage com o aplicativo Tap on Phone usando protocolos de comunicação padrão do Android:

* **Intents e Activity Results**: Você usa Android Intents para iniciar ações específicas no aplicativo Tap on Phone, como inicializar o terminal ou processar uma compra. Para recuperar o resultado dessas ações (como o resultado da transação), você deve usar as Activity Result APIs.  
* **Broadcast Receivers**: Para processos em segundo plano ou solicitações assíncronas — como verificar o status do POS, forçar uma atestação de segurança ou recuperar um recibo de transação perdido — você envia e escuta Broadcasts do Android.

## O Papel do Single Sign-On (SSO)

Como o aplicativo Tap on Phone gerencia apenas os pagamentos, ele não sabe quem é o usuário atual. Para autorizar transações com segurança, a solução utiliza uma arquitetura de Single Sign-On (SSO).

Toda vez que você envia um Intent para o aplicativo Tap on Phone, você deve incluir um `userId` e um `userToken`. O backend do Tap on Phone intercepta a solicitação e se comunica com o seu servidor de backend para validar o `userToken`. O aplicativo Tap on Phone só prossegue com a transação ou inicialização depois que o seu backend aprova a operação.

<Callout type="info">

Esta etapa de validação de SSO exige que você configure um endpoint nos seus servidores de backend. Você aprenderá como configurar isso nos próximos guias de configuração.

</Callout>