Apks PayStore¶
A seguir, temos uma visão geral mostrando os principais tipos de aplicações participantes da plataforma, bem como a forma como elas interagem entre si. Em diagramas específicos de cada aplicação, poderá ser visto o que exatamente cada aplicação disponibiliza é responsável por fazer.

Payments App (Payments.apk)¶
Esta aplicação executa como serviço no Android e é a responsável por realizar todas as operações referentes a pagamentos (TEF), seja o pagamento em si, estornos (cancelamentos) ou mesmo consultas a pagamentos já realizados para, por exemplo, a geração de relatórios.
A seguir, temos uma lista com as principais funcionalidades da aplicação:
- Prover interface (API) para outras aplicações executarem operações de pagamento via IPC, Intent e ContentProvider;
- Prover interface gráfica com o usuário para a realização das operações;
- Prover acesso à "calculadora" para a realização de pagamentos;
- Disponibilização de relatórios;
- Interface para seleção de pagamento para realização de estorno;
- Visualização de transações pendentes com possibilidade de resolução manual (confirmação ou desfazimento);
- Reexibição de comprovantes do último pagamento ou de um pagamento selecionado;
- Visualização de informações do Pinpad;
- Visualização de bandeiras disponíveis para pagamento;
- Realização do processo de credenciamento, quando a aplicação é instalada pela primeira vez;
- Acessar o PayStore Server para obter configurações do terminal;
- Enviar ao PayStore Server as informações referentes aos pagamentos efetuados;
- Enviar ao PayStore Server as informações referentes aos pagamentos pendentes;
- Controlar os agendamentos para:
- Envio de informações dos pagamentos para o PayStore Server;
- Execução de processo de resolução de pendência;
- Execução de processo de expurgo de dados.
Módulos de Payments¶
O módulo payments-app é responsável pela geração da aplicação Payments APP, referenciando dependências e fazendo a montagem dos componentes. Os demais são libs utilizadas pela aplicação ou módulos que agrupam funcionalidades que podem ser usadas em outras aplicações.

payments-api: Lib disponibilizada para terceiros se integrarem com a plataforma para a realização de operações, tais como pagamento (débito/crédito/voucher), estorno, desfazimento, busca de informações de pagamentos realizados, etc.
Acquirer Specific App (.apk)¶
Esta aplicação executa como serviço no Android e é a responsável por realizar as integrações junto a uma adquirente específica. Assim, para cada adquirente habilitada para um terminal, deverá haver uma aplicação deste tipo executando.
A seguir, temos uma lista com as principais funcionalidades da aplicação:
- Prover interface via IPC para aplicativo de pagamento (Payments App) para as transações com a adquirente;
- Armazenar informações referentes aos pagamentos;
- Prover interface via ContentProvider para acesso às informações dos pagamentos.
Módulos de Acquirer¶

Platform App (platform.apk)¶
Esta é a aplicação principal da plataforma, uma vez que é a responsável por gerenciar o dispositivo (telefone) e exibir as principais telas de interação com o usuário (operador).
Este aplicativo só estará presente em terminais que sejam de propriedade da rede de captura, ou seja, terminais utilizados exclusivamente para serem meios de pagamento.
A seguir, temos uma lista com as principais funcionalidades da aplicação:
- Ser launcher do dispositivo, exibindo tela com aplicações instaladas;
- Gerenciamento de economia de energia do terminal, ativando e desativando dispositivos, como WiFi e bluetooth quando o terminal estiver em modo ocioso;
- Implementação de barra de tarefas própria;
- Tela para visualização de notificações do terminal;
- Gerenciamento de meio de comunicação (automático ou manual), ativando/desativando WiFi e comunicação por operadora (GPRS, 3G, 4G, etc.);
- Manutenção de operadores do terminal;
- Interface para visualização de informações gerais do terminal;
Módulos do Plataform¶

Paystore Client App (paystore-client.apk)¶
Esta é a aplicação responsável pelo gerenciamento das instalações e atualizações de todas as aplicações da plataforma e de terceiros.
Este aplicativo só estará presente em terminais que sejam de propriedade da rede de captura, ou seja, terminais utilizados exclusivamente para serem meios de pagamento.
A seguir, temos uma lista com as principais funcionalidades da aplicação:
- Listar aplicativos disponíveis na PayStore para instalação;
- Listar aplicativos instalados no terminal;
- Gerenciar atualizações das aplicações, conforme informações da PayStore.
Módulos do PayStore Client¶

Esta aplicação possui um único módulo, ou seja, o paystore-client-app que contém todo o código dessa aplicação.