Estrutura da SDK
O SDK Android foi desenvolvido utilizando Providers, um padrão de projeto que simplesmente define um contrato entre a API e camada de dados/lógica.
Todos os providers possuem o mesmo padrão e herdam de uma classe modelo que herda da classe AsyncTask do Android. Portanto, toda a comunicação com o terminal e chamadas para APIs externas são executadas em background e devem ter algum feedback para o usuário, como por exemplo, informar que o cartão precisa ser inserido no terminal.
Após a execução de um provider, ele realizará uma chamada de retorno para a sua aplicação (Callback) com o objetivo de informar o status da sua chamada: se teve sucesso, erro ou qual é o próximo passo a ser executado.
Temos os seguintes providers em nossa SDK:
- ActiveApplicationProvider: Responsável por ativar a sua aplicação.
- BluetoothConnectionProvider: Responsável por criar conexão bluetooth com um pinpad a partir de um mac address.
- TransactionProvider: Responsável por realizar as transações com um pinpad
- CaptureTransactionProvider: Responsável por realizar a captura de transações que foram autorizadas sem captura automática.
- CancellationProvider: Responsável por realizar um cancelamento de uma transação.
- ValidateTransactionByCardProvider: Responsável por validar no banco de transações do SDK se existe transação para um cartão específico.
- DisplayMessageProvider: Exibe uma mensagem de até 32 caracteres na tela do Pinpad.
- SendEmailTransactionProvider: Responsável por enviar o comprovante da transação por e-mail.
- PrintProvider: Responsável por realizar impressões nos Pinpads que possuem suporte para impressão.
- ReversalProvider: Responsável por procurar no banco local do SDK transações com o status WITH_ERROR e cancelá-las
- PosTransactionProvider: Responsável por realizar as transações com um POS Android
- PosPrintProvider: Responsável pela impressão em terminais POS Android
Updated 12 months ago