Escolar Documentos
Profissional Documentos
Cultura Documentos
M-SiTef - Guia de Integração - Novo - Tls
M-SiTef - Guia de Integração - Novo - Tls
m-SiTef
Guia de Integração
Sumário
Introdução
Objetivo
Público-Alvo
Requisitos mínimos
m-SiTef
Mudando o CLSIT
Utilizando o AndroidX
Histórico de Alterações
Introdução
O m-SiTef é um aplicativo desenvolvido pela Software Express para a plataforma Android,
tanto em celular ou tablet como em POS, que realiza transações (TEF) através do
servidor SiTef.
Objetivo
Ser um guia de referência para integração com o m-SiTef.
Público-Alvo
Parceiros que desejam se integrar com o m-SiTef.
Requisitos mínimos
O m-SiTef é compatível com o Android versão 4.4 ou superior.
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 1/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
m-SiTef
Antes de apresentar as formas de integração, descreveremos neste capítulo as
características gerais do m-SiTef.
Empresa SiTef.
empresaSitef Obrigatório O tamanho é de 8 dígitos
alfanuméricos.
Valor da venda.
Obrigatório
O campo é numérico com tamanho
Valor p/
até 12 algarismos, onde os dois
pagamento
últimos dígitos são decimais.
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 2/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
Código do operador.
operador Opcional O campo é alfanumérico com
tamanho até 20 caracteres.
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 3/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 4/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 5/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
Conjunto de informações
complementares que permite que o
lojista personalize o que será impresso
na fatura do comprador.
Formato:
<id1><tam1><val1><id2><tam2></tam2>
<val2>...<idn><tamn></tamn><valn>
Onde:
Home
Id - identificador do campo com 2
bytes, conforme valores definidos na
tabela da especificação ”Informações
de Sub-adquirência (Soft
dadosSubAdqui Opcional Descriptor) Bibliotecas CliSiTefI e
CliSiTef”
tam - tamanho do campo com 2
bytes.
Val – valor do campo.
Exemplo de envio:
i.putExtra("dadosSubAdqui",
"0022STL*SOFTWARE EXPRESS");
Para mais informações referente aos
dados consultar a especificação:
“Informações de Sub-adquirência
(Soft Descriptor) Bibliotecas
CliSiTefI e CliSiTef”
tipoCampos Opcional
Formato JSON:
{"campo1":"val1",
"campo2":"val2"..."campon":"valn"}
Exemplos de envio:
i.putExtra("tipoCampos","
{\"147\":\"8000\",
\"516\":\"99900021\"}");
i.putExtra("tipoCampos","
{\"1025":\"Descricao do
Produto\"}");
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 6/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
O m-SiTef é compatível com 4 provedores TLS: Software Express, GSurf, WNB Comnect
e TLSGWP. Abaixo, será explicado como utilizar cada um deles.
/**
Deve ser enviado o valor 1 com o parâmetro “comExterna”
e o valor 0 com o parâmetro “isDoubleValidation”:
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 7/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
i.putExtra("comExterna", "2");
startActivityForResult(i,1234);
/**
Deve ser enviado o valor 4 no parâmetro “comExterna”
e o token de registro no parâmetro “tokenRegistroTls”:
Alternativamente, o registro de terminal para usar o novo TLSGWP pode ser realizado
através das modalidades 699 (Registro de terminal) ou 110 (menu administrativo). Neste
caso, a CliSiTef irá abrir uma coleta para o token ser informado e a partir desse momento
o terminal estará registrado e deverá informar nas próximas transações que o tipo de
conexão será o TLSGWP informando o parâmetro comExterna = 4 como no exemplo a
seguir.
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 8/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
i.putExtra("CNPJ_CPF", "12345678912345");
i.putExtra("timeoutColeta", "30");
startActivityForResult(i,1234);
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 9/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
b) Débito à vista
c) Crédito à vista
d) Crédito parcelado
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 10/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
i.putExtra("operador", "0001");
i.putExtra("data", "20140312");
i.putExtra("hora", "150000");
i.putExtra("numeroCupom", "1");
i.putExtra("numParcelas", "3");
i.putExtra("modalidade", "3");
i.putExtra("valor", "9000");
i.putExtra("restricoes", "TransacoesHabilitadas=27");
i.putExtra("CNPJ_CPF", "12345678912345");
i.putExtra("timeoutColeta", "30");
i.putExtra("acessibilidadeVisual", "0");
startActivityForResult(i,1234);
e) Cancelamento
f) Reimpressão
g) Menu administrativo
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 11/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
Parâmetro Descrição
Valores possíveis:
· “00”: À vista
TIPO_PARC · “01”: Pré-Datado
· “02”: Parcelado Estabelecimento
· “03”: Parcelado Administradora
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 12/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
Parâmetro Descrição
CODRESP Descrição
7 Falta de memória
Outro valor
Negada pelo autorizador.
positivo
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 13/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
CODRESP Descrição
Módulo não inicializado. O PDV tentou chamar alguma rotina sem antes
-1
executar a função configura.
-10 Algum parâmetro obrigatório não foi passado pela automação comercial.
Outro valor
Erros detectados internamente pela rotina.
negativo
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 14/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
System.out.println("COD_AUTORIZACAO: " +
data.getExtras().getString("COD_AUTORIZACAO"));
System.out.println("NUM_PARC: " + data.getExtras().getString("NUM_PARC"));
System.out.println("VIA_ESTABELECIMENTO: " +
data.getExtras().getString("VIA_ESTABELECIMENTO"));
System.out.println("VIA_CLIENT: " +
data.getExtras().getString("VIA_CLIENTE"));
}
}
}
Mudando o CLSIT
A partir da versão 3.167 é possível alterar o arquivo CLSIT. A alteração só pode ser feita
uma vez, depois disso só será possível mudar o CLSIT mudando a empresa ou forçando a
parada do aplicativo no menu de configuração do Android. O arquivo CLSIT possui o
seguinte formato:
[seção]
Chaves=valor
//O arquivo pode ter n seções e cada seção pode ter n chaves
Veja abaixo exemplos de como usar essa funcionalidade e um modelo de CLSIT que será
usado como base para os exemplos.
[CliSiTef]
DiretorioTrace=./files
HabilitaTrace=1
TraceRotativo=20
TamanhoTraceRotativo=122880
[CliSiTefI]
DiretorioTrace=./files
HabilitaTrace=1
[Geral]
TransacoesHabilitadas=7;8;16;26;27;28;30;40;43;56;57;58;3203;3624;3627
Alterando campos
//Montando as seções
JSONObject clsitJson = new JSONObject();
JSONObject clisitefSectionJson = new JSONObject();
JSONObject geralSection = new JSONObject();
clisitefSectionJson.put("DiretorioTrace", "./files2");
geralSection.put("TransacoesHabilitadas",
"7;8;20;29;42;3006;3014;3020;3021;3022;3027;3028;3029;3030;3031;3203;3321;3322;332
clsitJson.put("CliSiTef", clisitefSectionJson);
clsitJson.put("Geral", geralSection);
i.putExtra("clsit", clsitJson.toString());
[CliSiTef]
DiretorioTrace=./files2
HabilitaTrace=1
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 15/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
TraceRotativo=20
TamanhoTraceRotativo=122880
[CliSiTefI]
DiretorioTrace=./files
HabilitaTrace=1
[Geral]
TransacoesHabilitadas=7;8;20;29;42;3006;3014;3020;3022;3021;3027;3028;3029;3030;30
Adicionando campos
i.putExtra("clsit", clsitJson.toString());
[CliSiTef]
DiretorioTrace=./files
HabilitaTrace=1
TraceRotativo=20
TamanhoTraceRotativo=122880
[CliSiTefI]
DiretorioTrace=./files
HabilitaTrace=1
[Geral]
TransacoesHabilitadas=7;8;16;26;27;28;30;40;43;56;57;58;3203;3624;3627
HabilitaColetaTaxaEmbarque=1
[NovaSecao]
NovaChave=NovoValor
Removendo campos
clsitJson.put("CliSiTef", clisitefSectionJson);
i.putExtra("clsit", clsitJson.toString());
Veja abaixo que a chave TamanhoTarceRotativo foi removida do CLSIT. Caso uma seção
não contenha mais chaves ela será excluída também.
[CliSiTef]
DiretorioTrace=./files
HabilitaTrace=1
TraceRotativo=20
[CliSiTefI]
DiretorioTrace=./files
HabilitaTrace=1
[Geral]
TransacoesHabilitadas=7;8;16;26;27;28;30;40;43;56;57;58;3203;3624;3627
Importante: Para saber exatamente quais seções, chaves e valores devem ser passados
para montagem do seu arquivo CLSIT, por favor consultar o nosso suporte. O m-SiTef
possui um CLSIT padrão que será adotado caso nenhuma alteração especificada nesse
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 16/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
[CliSiTef]
DiretorioTrace=./files
HabilitaTrace=1
TraceRotativo=20
TamanhoTraceRotativo=122880
[CliSiTefI]
DiretorioTrace=./files
HabilitaTrace=1
[Geral]
TransacoesHabilitadas=7;8;16;26;27;28;30;40;43;56;57;58;3203;3624;3627
startPagamentoIntent.launch(i);
System.out.println("VIA_CLIENT: " +
data.getExtras().getString("VIA_CLIENTE"));
Histórico de Alterações
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 18/19
27/10/2023, 17:38 m-SiTef | Guia de Integração
localhost:3000/docs/m-sitef/m-SiTef#integração-tls-gsurf 19/19