Configuração da CliSiTef para acesso a pinpads externos
Importante: esta Seção se aplica apenas ao cenário com smartphone/tablet conectado a um pinpad externo via USB ou Bluetooth. Ela não se aplica a terminais APOS que possuem pinpad interno e nem ao terminal Verifone Carbon 10, que possui um pinpad externo fixo com comunicação interna.
A partir da versão 4.0.0.10 da jCliSiTefI (Android), os seguintes pinpads externos são suportados 1 :
Modelo | Modo de acesso |
---|---|
PAX D200 | Bluetooth |
PAX D180 | Bluetooth |
PAX D150 | Bluetooth (low energy) |
Ingenico iCMP | Bluetooth |
Gertec MobiPin | Bluetooth |
Gertec MP 5 | Bluetooth |
Datecs Bluepad | Bluetooth |
Newland ME30S | Bluetooth |
Gertec PPC-900 e PPC-910 | USB |
Ingenico iPP-320 e iPP-350 | USB |
Importante: a comunicação com pinpad ́s USB só é possível em dispositivos Android 3.1 “Honeycomb” (API level 12) ou superior.
Para garantir acesso aos recursos de Bluetooth e redes requeridos pela CliSiTef na sua aplicação, é necessário incluir algumas permissões no manifesto do aplicativo (arquivo AndroidManifest.xml):
Além disso, para que a CliSiTef possa utilizar os pinpads Bluetooth suportados, os mesmos devem ser pareados nas configurações do Android.
Cada pinpad possui uma forma de pareamento e obtenção do código. Estas instruções de configuração deverão ser obtidas com os fabricantes.
Importante: a comunicação com o pinpad será feita obrigatoriamente no modo “Comunicação Segura”. Isto é, o pinpad deve ter suporte a esta característica.
Para manter compatibilidade com versões anteriores, a CliSiTef adota a seguinte sequência de conexão:
- Tenta-se obter a lista de dispositivos USB conectados.
- Se reconhecer algum dos pinpads USB da lista acima, tenta-se fazer a conexão.
- A lista de pinpad ́s USB está fixa internamente, pois cada dispositivo USB possui um Vendor ID e Product ID específicos, e que foram testados anteriormente pela Software Express.
- Se não obter um dispositivo válido, tenta obter um pinpad Bluetooth. Note que, neste caso, a interface Bluetooth será automaticamente ligada. Além disso, a aplicação deve possuir permissões no manifesto do projeto (veja a seção abaixo).
Para forçar a utilização da CliSiTef com exatamente um tipo de conexão com o pinpad (Bluetooth ou USB), indique nos parâmetros adicionais do método configuraIntSiTefInterativoEx() / configure() o parâmetro TipoPinPad, conforme a tabela abaixo:
Valor para TipoPinPad | Descrição |
---|---|
ANDROID_AUTO | Tenta obter conexão de acordo com a heurística acima. |
ANDROID_USB | Tenta obter conexão apenas com pinpad ́s USB. |
ANDROID_BT | Tenta obter conexão apenas com pinpad ́s Bluetooth. |
Exemplo: