Arquitetura
Esta página explica a arquitetura técnica da integração Get Smart App2App para Android, detalhando como os componentes interagem e se comunicam.
Visão Geral do Sistema
A integração App2App depende de mecanismos padrão de Intent do Android para facilitar a comunicação entre duas aplicações distintas instaladas no mesmo dispositivo:
- A aplicação externa (sua aplicação) inicia o processo e recebe o resultado
- A aplicação Get Smart processa a transação segura e lida com a lógica de pagamento
Esta separação de responsabilidades permite que sua aplicação aproveite a funcionalidade de pagamento sem a necessidade de implementar os complexos requisitos de segurança e conformidade do processamento de pagamentos.
Arquitetura de Componentes
A integração App2App envolve dois componentes distintos trabalhando juntos para processar pagamentos. Compreender as responsabilidades de cada componente ajuda a implementar a integração corretamente e a solucionar problemas de forma eficaz.
Sua Aplicação
Sua aplicação é responsável por:
- Gerar a solicitação de pagamento com os detalhes da transação (valor, tipo, número do pedido).
- Criar e lançar o
Intentdo Android com o nome da ação específica. - Receber e processar o resultado da transação.
- Tratar cenários de erro (ex: ausência da aplicação Get Smart).
- Gerenciar sua lógica de negócio com base nos desfechos do pagamento.
Aplicação Get Smart
A aplicação Get Smart (Aplicação de Cobro) lida com:
- Leitura de cartão (chip EMV, NFC por aproximação, tarja magnética).
- Comunicação com o gateway de pagamento.
- Segurança e criptografia da transação.
- Impressão de comprovante (vias do estabelecimento e do cliente).
- Requisitos de conformidade PCI DSS.
- Requisitos de certificação EMV.
Mecanismo de Comunicação
A integração utiliza a comunicação padrão entre aplicações do Android por meio de Intents.
Comunicação Baseada em Intent
A comunicação segue este padrão:
- Criação do Intent: Sua aplicação cria um Intent com um nome de ação específico.
- Passagem de Parâmetros: Os parâmetros da transação são adicionados como extras do Intent.
- Lançamento da Activity: O Intent é lançado usando
startActivityForResult. - Processamento da Transação: A aplicação Get Smart assume o controle e processa o pagamento.
- Retorno do Resultado: A aplicação Get Smart devolve o controle com os resultados da transação como extras do Intent.
- Tratamento do Resultado: Sua aplicação processa o resultado em
onActivityResult.
Nome da Ação do Intent
O nome da ação específica usado para solicitações de pagamento é:
es.android.redsys.mPOS.movil.tpvAndroid_PAYMENT_REQUESTEste nome de ação é o identificador exclusivo que roteia o Intent para a aplicação Get Smart.
Fluxo de Dados
O fluxo de dados entre as aplicações segue esta sequência:

Considerações de Segurança
A arquitetura App2App foi projetada com a segurança como princípio fundamental, aproveitando o isolamento de aplicações do Android para proteger dados de pagamento sensíveis. Entender como o modelo de segurança funciona ajuda você a implementar a integração corretamente, mantendo a conformidade com os padrões da indústria de pagamentos.
Isolamento de Aplicações
Cada aplicação é executada em sua própria sandbox de segurança. Sua aplicação nunca tem acesso direto a:
- Dados do cartão (PAN, CVV, data de validade).
- Inserção de PIN.
- Chaves criptográficas.
- Credenciais do gateway.
A aplicação Get Smart gerencia todos os dados sensíveis dentro de seu ambiente seguro.
Transmissão de Dados
Apenas metadados não sensíveis da transação são passados entre as aplicações:
- Valor da transação.
- Tipo de operação (venda/estorno).
- Números de fatura/pedido.
- Resultados de autorização.
- Códigos de resposta.
Requisitos de Certificação
Como a aplicação Get Smart é o único componente que manipula dados de cartão e a comunicação com o gateway:
- Sua aplicação NÃO precisa de certificação PCI DSS.
- Sua aplicação NÃO precisa de certificação EMV.
- Sua aplicação NÃO precisa de certificação de aplicativo de pagamento.
A aplicação Get Smart certificada cuida de todos os requisitos de conformidade.
Requisitos de Configuração
A arquitetura exige configuração mínima:
Sem Permissões Especiais
Seu AndroidManifest.xml não requer nenhuma permissão especial para:
- Comunicação entre aplicações.
- Processamento de pagamento.
- Leitura de cartão.
- Acesso à rede (para o gateway de pagamento).
O mecanismo padrão startActivityForResult funciona sem configurações adicionais.
Sem Dependências Externas
Sua aplicação não precisa:
- Incluir quaisquer SDKs ou bibliotecas Get Smart.
- Configurar chaves de API ou credenciais.
- Gerenciar pareamento ou registro de dispositivos.
A integração depende inteiramente do sistema de Intent nativo do Android.
Tratamento de Erros
O tratamento de erros adequado garante que sua aplicação gerencie de forma graciosa cenários onde a aplicação Get Smart está indisponível ou é incompatível. A implementação dessas verificações de erro melhora a experiência do usuário e ajuda a prevenir falhas na aplicação.
Aplicação Ausente
Se a aplicação Get Smart não estiver instalada, o Android lançará uma ActivityNotFoundException. Sua aplicação deve capturar esta exceção e informar o usuário.
Versão da Aplicação
Certifique-se sempre de que a aplicação Get Smart esteja atualizada para a versão mais recente. Versões mais antigas podem não suportar todos os recursos ou podem ter requisitos de parâmetros diferentes.
Próximos Passos
- Entenda o fluxo de transação detalhado em Fluxo da Transação
- Saiba como criar um pagamento de etapa única em Criar um Pagamento de Etapa Única