Getnet DocsGetnet Docs

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:

  1. A aplicação externa (sua aplicação) inicia o processo e recebe o resultado
  2. 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 Intent do 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:

  1. Criação do Intent: Sua aplicação cria um Intent com um nome de ação específico.
  2. Passagem de Parâmetros: Os parâmetros da transação são adicionados como extras do Intent.
  3. Lançamento da Activity: O Intent é lançado usando startActivityForResult.
  4. Processamento da Transação: A aplicação Get Smart assume o controle e processa o pagamento.
  5. Retorno do Resultado: A aplicação Get Smart devolve o controle com os resultados da transação como extras do Intent.
  6. 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_REQUEST

Este 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