Plataforma de Comunicação Elgin versão 3.13.9
Documentação das bibliotecas de integração com hardware Elgin
Iniciando o Intent TEF

O primeiro passo é instanciar um objeto Intent passando o nome da aplicação como argumento, neste caso, o nome é com.elgin.e1.digitalhub.TEF. Através desta informação, o Android buscará o aplicativo do IDH entre os aplicativos instalados no dispositivo.

Em seguida, devem ser configurados os parâmetros obrigatórios através da função putExtra(String, String). Esses e outros parâmetros estão detalhados Referência.

Intent i = new Intent("com.elgin.e1.digitalhub.TEF");
i.putExtra("funcao", "configurar");
i.putExtra("nome", "Elgin");
i.putExtra("versao", "1.5.0");
i.putExtra("textoPinpad", "Elgin Tef");
startActivityForResult(i,1234); // ID = 1234

Depois podemos ativar o terminal.

Intent i = new Intent("com.elgin.e1.digitalhub.TEF");
i.putExtra("funcao", "ativar");
i.putExtra("cnpjCpf", "00.000.000/0000-00");
startActivityForResult(i,1234); // ID = 1234

Os 2 passos acima só é necessário fazer a primeira vez, nas próximas vezes tudo fica salvo no IDH. Os 2 passos também podem ser feitos direto na interface do IDH.

Por fim, se executa a função nativa do Android startActivityForResult(Intent, int) passando como parâmetros o objeto Intent e um número arbitrário. Este número será utilizado como um ID para a recuperação de informações que o IDH enviará ao aplicativo que o acionou. Nesta documentação, utilizaremos o ID = 1234.

Exemplos de transações do IDH ElginTef

Venda simples

Intent i = new Intent("com.elgin.e1.digitalhub.TEF");
i.putExtra("funcao", "vender");
startActivityForResult(i,1234); // ID = 1234

Débito

Intent i = new Intent("com.elgin.e1.digitalhub.TEF");
i.putExtra("funcao", "debito");
i.putExtra("valor", "1400");
startActivityForResult(i,1234);

Crédito

Intent i = new Intent("com.elgin.e1.digitalhub.TEF");
i.putExtra("funcao", "credito");
i.putExtra("valor", "1500");
i.putExtra("parcelas", "3");
i.putExtra("financiamento", "3");
startActivityForResult(i,1234);

Pix

Intent i = new Intent("com.elgin.e1.digitalhub.TEF");
i.putExtra("funcao", "pix");
i.putExtra("valor", "13.00");
startActivityForResult(i,1234);

Cancelamento

Intent i = new Intent("com.elgin.e1.digitalhub.TEF");
i.putExtra("funcao", "cancelar");
i.putExtra("valor", "11.00");
i.putExtra("nsu", "000144");
i.putExtra("data", "10/05/23");
startActivityForResult(i,1234);

Relatório

Intent i = new Intent("com.elgin.e1.digitalhub.TEF");
i.putExtra("funcao", "relatorio");
startActivityForResult(i,1234);

Reimprimir

Intent i = new Intent("com.elgin.e1.digitalhub.TEF");
i.putExtra("funcao", "reimprimir");
startActivityForResult(i,1234);