Manual de integração Parceiros

1 Integração SmartPOS#

Existem 4 tipos de integrações dispSoníveis atualmente: 1°Configurar App de início. 2°Serviço de Impressão. 3°Serviço de Proxy.

Observação Antes de dar início na integração certifique-se que o terminal esteja com a aplicação SmartPOS e First Apps instalada e ativada, caso contrário algumas funcionalidades não irão funcionar.

O parceiro que desejar realizar a integração com o SmartPOS, deverá obrigatoriamente incluir em seu projeto a biblioteca auxiliar que provê algumas funcionalidades específicas do terminal.

A biblioteca será disponibilizada juntamente com esse documento.

Para utilizar a biblioteca, é necessário incluir nas dependências do seu projeto conforme exemplo abaixo:

Para garantir o correto funcionamento de todas as funcionalidades a versão da aplicação SmartPOS precisa ser 1.03.10 ou superior.

Caso sua aplicação seja compatível com o AndroidX, é necessário adicionar no arquivo gradle.properties a propriedade android.enableJetifier=true, para manter a compatibilidade com a biblioteca.

Após incluir a biblioteca o primeiro passo a se fazer é realizar a chamada da função que indica que o app está ativo, recomendamos incluir essa chamada na função onCreate da MainActivity do seu projeto.

Exemplo da chamada.

Configurar App de Início

Essa etapa é opcional, e se destina a parceiros que desejam alterar o app de início do terminal.

Atenção: A versão do app de pagamentos instalada no terminal precisa ser a 1.02.00 ou superior.

Exemplo de Uso

Para alterar o app de início é preciso executar uma chamada a um determinado serviço da aplicação SmartPos, a baixo está um exemplo da chamada.

Descrição

A Intent do serviço possui 2 extras, o primeiro é o packageName do app o segundo é o nome do app a ser configurado como de início. Uma vez alterado sempre que o terminal ligar o app configurado será iniciado automaticamente.

Para reverter a configuração, basta chamar o serviço novamente e deixar os extras com uma String vazia.

Nomes das Strings

ComponentName: br.com.binbr.com.bin.service.DefineHomeAppService
Action:br.com.bin.service.DefineHomeAppService.action. DEFINE_HOME_APP
Extra 1CADASTRO DE NOVO APLICATIVObr.com.bin.service.DefineHomeAppService.extra.P ACKAGE_NAME
Extra 2br.com.bin.service.DefineHomeAppService.extra.A PP_LABEL

Serviço de Impressão

O serviço de impressão é capaz de imprimir texto simples ou imagens no formato bitmap.

A utilização é independente do modelo do terminal, e conforme sejam adicionados outros terminais, a biblioteca será atualizada visando manter a transparência para o desenvolvedor.

Exemplo de uso:

1° Etapa, chamar a função

“SmartPOSService.registerPrinterService”, para obter o objeto IprinterService responsável pelas funções de impressão.

Atenção: A versão do app de pagamentos instalada no terminal precisa ser a 1.03.10 ou superior.

2° Etapa, realizar a impressão, para garantir que o serviço está funcionando é possível verificar se o objeto IprinterService é diferente de null e se o serviço está conectado com a função “isConnected”.

Após isso basta chamar as funções para impressão de texto ou bitmap, conforme exemplo abaixo.

As funções de impressão possuem call-back que indicam o status da impressão de sucesso ou falha.

Impressão de bitmap:

Impressão de texto

Serviço de Proxy

O SmartPOS utiliza chips de telefonia móvel privados, ou seja, não utilizam a infraestrutura convencional, adicionando assim um nível de segurança extra. Todas as conexões estabelecidas utilizando a internet móvel desses chips passam por um proxy privado, e apenas endereços pré-aprovados são permitidos.

É de responsabilidade do desenvolvedor informar a quais domínios eles desejam se conectar. Para fazer isso, é necessário criar, na pasta assets do seu projeto, um arquivo de nome hosts.xml com a lista de domínios aos quais sua aplicação conecta, no formato abaixo:

Dessa maneira, quando você realizar o upload da sua aplicação para o site da First Apps, iremos buscar esse arquivo a fim de liberar esses domínios, caso sejam aprovados pelo adquirente.

NOVO

Para habilitar o serviço de proxy na aplicação é necessário criar uma instância do objeto Connectivity e chamar as funções enable e setAutomaticProxy passando true como parâmetro, conforme exemplo a seguir.

Executando uma vez esse fluxo é suficiente para garantir o funcionamento do proxy. O serviço é quem faz o gerenciamento de quando deve utilizar o proxy nas conexões com os chips privados.