Pinpad virtual (método setActivity)

Diferentemente da arquitetura convencional, na qual é utilizado um pinpad externo e a comunicação com ele é via USB/Bluetooth, este modelo de APOS possui pinpad interno. Dessa forma, a comunicação entre a camada de aplicação e o pinpad é feita de forma direta e interna.

Entretanto, como este terminal não possui teclado físico e tem somente um display, o pinpad precisa ser exibido na mesma tela da aplicação que utiliza a CliSiTef. Para facilitar a integração, a CliSiTef implementa uma interface visual criando um “pinpad virtual” 2 . Essa interface é composta por um display reduzido e um teclado personalizado e ficará sobreposta à tela do aplicativo quando for necessário.

Em termos do fluxo de chamadas de função que a aplicação faz à CliSiTef, existe apenas um único método adicional que os desenvolvedores para APOS com pinpad interno precisam chamar. Como mencionado anteriormente, todo o resto do fluxo de chamadas à CliSiTef é o mesmo do cenário onde a aplicação é executada num terminal com um pinpad externo. A aplicação deve chamar obrigatoriamente este método e ele está disponível na classe CliSiTef (para interface v2).

Método#

public void setActivity(Activity activity)

O parâmetro activity deve ser a Activity que conduz o fluxo de chamadas à CliSiTef e que exibirá o “pinpad virtual”, ou seja, deve ser a Activity que implementa a transação com o SiTef. Recomendamos chamar o método setActivity logo na callback onCreate desta Activity.

Importante: caso o método setActivity não seja chamado no momento correto, a CliSiTef não conseguirá se conectar ao pinpad interno e devolverá Erro 31 (ERRO PINPAD) na realização das transações com pinpad.


  • Em alguns modelos, o próprio sistema operacional do APOS desenha o teclado virtual, sem controle nenhum da aplicação nem da CliSiTef.