SiTef - Interface Simplificada Com A AplicaþÒo (VRS-210)
SiTef - Interface Simplificada Com A AplicaþÒo (VRS-210)
SiTef - Interface Simplificada Com A AplicaþÒo (VRS-210)
Versão 210
Esclarecimentos
O usuário deste documento é o responsável por garantir que está de posse da versão mais
atualizada.
Qualquer usuário pode utilizar essa cópia para sugerir alterações no documento.
Todos os pedidos de alteração devem ser direcionados ao responsável pelo documento (ver
coluna “Autor” do item “Histórico de Alterações” neste documento).
As imagens dos ícones nas caixas de texto estão sob a licença presente em:
http://wiki.docbook.org/DocBookLicense
O servidor SiTef, por sua vez, oferece um amplo leque de serviços de pagamentos com os mais diversos
autorizadores.
As bibliotecas CliSiTefI e CliSiTef estão disponíveis para uma série de plataformas, normalmente sob a forma
de bibliotecas dinâmicas.
Ela possui pontos de entrada pelos quais a automação comercial a configura, solicita um pagamento, solicita
uma função gerencial ou o pagamento de uma conta.
Os pontos de entrada estão na CliSiTefI e é essa que deve ser carregada pela aplicação do usuário.
A CliSiTef é de uso exclusivo da CliSiTefI e não pode ser carregada ou chamada diretamente sob risco de,
eventualmente, desestabilizar o ambiente. Neste documento, qualquer referência a CliSiTef deve ser entendida
como o conjunto destas duas bibliotecas.
2 Público-Alvo
Desenvolvedores de automação comercial com CliSiTef.
3 Objetivos
Apresentar a descrição da biblioteca que efetua a interface com os serviços de meio de pagamento disponíveis
no SiTef.
Não intrusiva pois é a própria automação que gerencia suas telas. Não ocorre sobreposição de telas da
própria interface que, se existisse, na maioria das vezes não seria compatível com a diagramação visual da
aplicação principal do cliente;
Permite que a aplicação de automação restrinja as transações disponíveis para determinado pagamento
uma vez que, na vida prática, ocorre a negociação com o cliente e uma vez fechado o meio de pagamento,
quantidade de parcelas, etc, não devem ser modificados por engano na hora da execução do TEF;
Permite total liberdade na inclusão de novos produtos e meios de pagamento, acompanhando a evolução
do SiTef, sem que seja necessário fazer nenhuma alteração na automação ou, se ela for imprescindível
(por exemplo pela inclusão de novos periféricos de acesso tais como leitor de códigos em barra), que ela
seja mínima.
Nota: a CliSiTef possui, para cada funcionalidade, dois pontos de entrada (rotinas). A escolha de qual das
interfaces será utilizada pela aplicação depende do gosto pessoal do programador e de se o ambiente utilizado
por ele para o desenvolvimento impõe algum tipo de restrição na chamada a CliSiTef. Em particular, estamos nos
referindo ao tipo de dado manipulado pelo ambiente de programação. Se ele aceitar somente dados em ASCII,
necessariamente deve ser utilizada a interface batizada a seguir nesse documento como “A”.
Passo inicial
Esta função deve ser chamada somente quando a CliSiTef é carregada ou seja, não é necessário
chamá-la a cada nova transação (a menos que haja uma necessidade específica para mudar
parâmetros de empresa, terminal ou IP do servidor SiTef).
A rotina retorna um valor indicando se a configuração ocorreu com sucesso ou não. Caso retorne 0 (zero) o
processo ocorreu de forma correta.
No retorno, a ela devolve o valor 10000 para continuar a transação ou outro valor para encerrar.
Se o retorno for 10000, deve-se chamar a função ContinuaFuncaoSiTefInterativo, com os parâmetros também
descritos para ela nós próximos tópicos.
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 7 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Enquanto a CliSiTef retornar na chamada dessa função o valor 10000, a automação deve ficar repetindo a
chamada a essa função tantas vezes quanto for necessário até que o valor de retorno da função seja 0 (zero),
indicando que ocorreu tudo bem, ou diferente de 0 e de 10000 indicando que ocorreu alguma interrupção
anormal.
Se o retorno foi 0 (zero), a automação encerra o laço e se houve impressão de cupom TEF a automação deve
imprimi-los e chamar uma outra função, a FinalizaFuncaoSiTefInterativo, confirmando ou não a transação
dependendo, respectivamente, se o cupom foi impresso corretamente ou não.
Se o retorno foi diferente de 10000 e de 0 então a automação simplesmente sai do laço e, por opção do
programador, pode ou não exibir uma mensagem de acordo com o retorno da função chamada. Por exemplo, se
retornou -2, significa que a transação foi cancelada pelo operador. Estes retornos negativos estão descritos neste
documento.
Campo vazio ou não fornecido – na versão padrão é um campo contendo apenas o delimitador (zero binário).
Na versão ASCII, se for um campo fixo ele contém espaços. Se for um campo variável ele contém apenas o
delimitador de início e final de campo.
Tamanho do campo – no caso de campo de tamanho fixo, quando esse valor for fornecido, indica qual o
tamanho mínimo a ser reservado pela aplicação para receber uma resposta do SiTef.
2. Quando à passagem: o parâmetro pode ser passado por valor ou por referência.
Interface ASCII – para interface com linguagens de programação, cujos parâmetros trabalham somente em
ASCII.
O que diferencia a versão ASCII da versão padrão é o acréscimo do sufixo A no nome das funções, e a forma /
tipo de passagem dos parâmetros.
Interface padrão
Esta interface pode ser utilizada por aplicações escritas nas mais variáveis linguagens de programação que
aceitam campos binários. Dentre elas citamos: Delphi, Visual Basic, Visual C.
No caso de comprovantes, o caractere 0x0a (\n em linguagem C) indica o final de uma linha.
Todas as rotinas chamadas pelo aplicativo de automação devem ser do tipo stdcall, ou seja, os parâmetros são
empilhados da direita para a esquerda e a rotina chamada é responsável por removê-los da pilha. A convenção
dos parâmetros é a seguinte:
Tipo Descrição
char * Buffer em texto ASCII terminado por zero binário.
short int (short) Variáveis que ocupam 2 bytes em memória, com e sem sinal, respectivamente.
unsigned short int (ushort)
int, unsigned int (uint) Variáveis que ocupam 4 bytes em memória, com e sem sinal, respectivamente.
void Indica a ausência de parâmetros ou retorno.
<tipo variável> * Indica que a variável do “tipo variável” está sendo passada como endereço, ou
(exemplo: short int * ou int seja, a CliSiTef irá utilizar a área da aplicação de automação para trabalhar,
*) podendo devolver algum resultado nela.
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 9 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Interface ASCII
Esta interface pode ser utilizada por aplicações escritas em qualquer linguagem de programação, inclusive as
que não que aceitam campos binários, tais como o ambiente Forms da Oracle.
Nela todos os parâmetros são passados em ASCII e podem ser de tamanho fixo e variável.
Os campos numéricos são passados sempre com tamanho fixo e alinhados a direita, com zeros a esquerda. Em
particular, o campo cujo conteúdo seja um valor negativo, possui um sinal “-“ na posição mais a esquerda do
número (p/ex: -0001 para um campo de 5 posições cujo conteúdo é o valor –1).
Os de tamanho variável são construídos de forma que o primeiro caractere indique qual o valor escolhido para
ser o delimitador daquele campo ou seja, o campo é delimitado pelo caractere escolhido ou o seu complementar
no caso dos pares “( )”, “[ ]”, “{ }” e “< >”.
Exemplos de construções válidas são: (1234), [1234], {1234}, <1234>, $1234$, %1234%, |1234|, etc.
O critério para escolha do delimitador deve ser o de que ele não exista como caractere válido no campo em
questão. Nas passagens de dados da aplicação para a CliSiTef, como estes sempre são conhecidos, a aplicação
pode definir um caractere padrão e sempre utilizá-lo em todas as passagens de dados. Já no retorno, como
qualquer caractere é valido (por exemplo em um comprovante), a regra acima deve ser utilizada na interpretação
do resultado devolvido pela CliSiTef uma vez que esta irá escolher o caractere que melhor se adapta a resposta
que esta sendo gerada.
Finalizando, existe um caractere especial que é utilizado nos textos direcionados para uma impressora. O “\”
(barra reversa) indica o final de uma linha e deve ser utilizado pelo aplicativo instruir a impressora para fechar a
linha corrente e se posicionar na seguinte.
Interface ASCII
Interface Interface
Parâmetro Tipo Descrição
padrão ASCII
Resultado Saída, Não usado Fixo 6 Contém o resultado de resposta à chamada da rotina.
por valor
IPSiTef Entrada, char * Variável Configura o nome ou endereço IP (em notação “.”) do
por valor servidor SiTef.
IdLoja Entrada, char * Fixo 8 Identifica o número da loja perante a rede de
por valor estabelecimentos comerciais.
IdTerminal Entrada, char * Fixo 8 Identifica o pdv perante a loja. Possui o formato XXnnnnnn
por valor onde XX corresponde a 2 caracteres alfabéticos e nnnnnn
6 dígitos quaisquer desde que o número resultante não
sobreponha a faixa 000900 a 000999 que é reservada para
uso pelo SiTef.
Reservado Entrada, char * Fixo 6 Deve ser passado com 0
por valor
ParametrosA Entrada, char * Variável Parâmetros adicionais de configuração da CliSiTef no
dicionais por valor seguinte Formato:
[<Nome_Parametro_1>=<Valor_Parametro_1>;<Nome_Pa
rametro_2>=<Valor_Parametro_2>]
Importante!
Cada terminal deve ter um código único e fixo por loja do SiTef. Desta forma o estabelecimento comercial
deve administrar os códigos utilizados de forma que nunca exista repetição de terminais para uma mesma loja.
O servidor SiTef não permite duas ou mais conexões simultâneas utilizando o mesmo par (loja, terminal),
derrubando as conexões anteriores, mantendo apenas a última conexão efetuada; se porventura a transação
que estava em andamento quando da queda da conexão por PDV duplicado estivesse já em estado pendente
(uma venda por exemplo), o SiTef coloca-a imediatamente em estado Canc.PDV (Cancelada pelo PDV), ou seja,
esta estará cancelada; o terminal que for desconectado receberá a mensagem “Sem conexao SiTef” com o código
de erro -5.
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 11 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Quando o estabelecimento comercial utilizar Pinpad para leitura de cartões e digitação de senha e caso o par
(loja, terminal) seja alterado, isto implicará em nova carga de tabelas no pinpad a cada alteração. Este é mais um
motivo para que o código de terminal seja fixo.
Valor Descrição
0 Não ocorreu erro
1 Endereço IP inválido ou não resolvido
2 Código da loja inválido
3 Código de terminal inválido
6 Erro na inicialização do Tcp/Ip
7 Falta de memória
8 Não encontrou a CliSiTef ou ela está com problemas
9 Configuração de servidores SiTef foi excedida.
10 Erro de acesso na pasta CliSiTef (possível falta de permissão para escrita)
11 Dados inválidos passados pela automação.
12 Modo seguro não ativo (possível falta de configuração no servidor SiTef do arquivo .cha).
13 Caminho DLL inválido (o caminho completo das bibliotecas está muito grande).
Observação: durante o ciclo de vida da automação, caso não haja mudança nos parâmetros de entrada da
função, então não há necessidade de chamá-la novamente.
Determinadas configurações gerais (válidas para todas as transações) da CliSiTef podem ser passadas através
do parâmetro “ParametrosAdicionais” da rotina ConfiguraIntSiTefInterativoEx. O formato deste campo é o
seguinte:
Observação: neste item serão destacadas somente as configurações principais. Para a descrição detalhada de
todos as opções disponíveis, consulte o documento “CliSiTef – Lista de Parâmetros Adicionais”.
Funcionalidade Descrição
MultiplosCupons=1 Indica que o PDV está apto para receber mais de um comprovante por
transação. No caso de transações com mais de um comprovante, como
transações de recarga de celular ou pagamentos de contas com cartões de
crédito ou débito, o comprovante da recarga de celular ou do pagamento de
conta será entregue separadamente do comprovante do TEF de crédito ou
débito.
PortaPinPad=<Porta PinPad> Define a porta em que está conectado o pinpad compartilhado.
Exemplo:
Windows: [PortaPinPad=1]
Linux: [PortaPinPad=/dev/ttyS0]
LojaECF=<Num Loja> Número da loja fiscal (Tamanho máximo: 20)
CaixaECF=<Num Caixa> Número do caixa fiscal (Tamanho máximo: 20)
NumeroSerieECF=<Serie ECF> Número de série do ECF (Tamanho máximo: 20)
A configuração ParmsClient permite que a automação comercial possa configurar informações comuns a todas
as transações trocadas com o servidor SiTef.
Formato:
[ParmsClient=Id1=Valor1;Id2=Valor2;Id3=Valor3;...;IdN=ValorN]
onde:
[ParmsClient=1=31406434895111;2=12523654185985]
Onde:
Observação: este parâmetro não deve ser usado para fins de sub-adquirência (soft descriptor). Para este fim,
consulte o documento “CliSiTef - Informações de Sub-Adquirência (Soft Descriptor)”
Como a automação informa à CliSiTef que sabe tratar campos com ponto flutuante
O tratamento de campos com Ponto Flutuante requer um procedimento executado em conjunto com a
automação.
Para que a Clisitef efetue este procedimento que será descrito adiante, é necessário que a automação informe
à Clisitef que está apta a tratá-lo. Para isso, a automação deve passar a string abaixo no parâmetro
“ParametrosAdicionais” na execução da função ConfiguraIntSiTefInterativoEx.
[TrataPontoFlutuante=1]
Se este parâmetro for omitido e o SiTef solicitar a coleta de campo com Ponto Flutuante, a CliSiTef solicitará à
automação, a exibição da mensagem: "Ponto Flutuante nao Suportado pelo PDV".
Se foi informado na Configuração, suportar o recurso de Ponto Flutuante, conforme descrito acima, a CliSiTef
através do Comando 0 em conjunto com o TipoCampo 2470, informa à Automação a quantidade de casas
decimais no parâmetro Buffer, para que esta possa formatar suas telas antes de exibi-las ao operador (Vide
Exemplos de Telas na próxima página). Somente após este “pacto” com a Automação, a CliSiTef enviará o
comando de coleta do campo com ponto flutuante (através dos comandos 34 ou 30) conforme exemplos abaixo.
Parâmetros
ContinuaFuncaoSiTefInterativo:
CliSiTef ========= PDV
Comando TipoCampo
0 2470
Exemplos de quantidade de casas decimais Buffer
Peso do Almoço em gramas com 2 casas 2
Total da Bomba de Combustível em reais com 3 casas 3
• No exemplo onde a quantidade de casas decimais informada foi 2, logo após, a CliSitef solicitará o comando
30:
O que diferencia a transação a ser executada é o código de Função passado por parâmetro. As diversas
transações iniciadas pela automação comercial ficam agrupadas pelos dados fiscais, que é o par (CupomFiscal,
DataFiscal) – o parâmetro HoraFiscal não é considerado.
Interface ASCII
As funções abaixo eram utilizadas para terminais de Auto-Atendimento, e são consideradas obsoletas.
Interface ASCII
[<Descrição1>;<Código1>;<Quantidade1>;<ValorTotal1>];
[<Descrição2>;<Código2>;<Quantidade2>;<ValorTotal2>];...
Campo Formato
Descrição 1 a 14 caracteres
Código 1 a 08 caracteres
Quantidade 1 a 04 dígitos
Valor 999.999,99
IMPORTANTE: Essa rotina apenas inicia o processo de pagamento. Se o retorno for 10000 o processo de
pagamento deve ser continuado através da rotina ContinuaFuncaoSiTefInterativo ou
ContinuaFuncaoSiTefInterativoA até que esta última devolva um resultado final (vide item que descreve esta
função).
IMPORTANTE: até a versão 6.1.114.39 (inclusive) da clisitef, sempre que for iniciado um pagamento em um
novo documento fiscal (um par <CupomFiscal, DataFiscal> diferente do anterior), os dados da transação anterior
serão substituídos pelos da recém-iniciada, impossibilitando que alguns tratamentos, como os de pendências,
sejam feitos com sucesso.
Portanto, devem ser resolvidos todos os tratamentos necessários antes de iniciar-se uma nova transação.
A partir da versão 6.1.114.40 (inclusive), a clisitef permite iniciar um novo pagamento, sem apagar eventuais
pendências do documento fiscal anterior.
Valor Descrição
0 Sucesso na execução da função.
10000 Deve ser chamada a rotina de continuidade do processo.
outro valor positivo Negada pelo autorizador.
-1 Módulo não inicializado. O PDV tentou chamar alguma rotina sem antes executar a
função configura.
-2 Operação cancelada pelo operador.
-3 O parâmetro função / modalidade é inexistente/inválido.
-4 Falta de memória no PDV.
-5 Sem comunicação com o SiTef.
-6 Operação cancelada pelo usuário (no pinpad).
-7 Reservado
-8 A CliSiTef não possui a implementação da função necessária, provavelmente está
desatualizada (a CliSiTefI é mais recente).
-9 A automação chamou a rotina ContinuaFuncaoSiTefInterativo sem antes iniciar uma
função iterativa.
-10 Algum parâmetro obrigatório não foi passado pela automação comercial.
-12 Erro na execução da rotina iterativa. Provavelmente o processo iterativo anterior não
foi executado até o final (enquanto o retorno for igual a 10000).
-13 Documento fiscal não encontrado nos registros da CliSiTef. Retornado em funções de
consulta tais como ObtemQuantidadeTransaçõesPendentes.
-15 Operação cancelada pela automação comercial.
-20 Parâmetro inválido passado para a função.
-21 Utilizada uma palavra proibida, por exemplo SENHA, para coletar dados em aberto no
pinpad. Por exemplo na função ObtemDadoPinpadDiretoEx.
-25 Erro no Correspondente Bancário: Deve realizar sangria.
-30 Erro de acesso ao arquivo. Certifique-se que o usuário que roda a aplicação tem direitos
de leitura/escrita.
-40 Transação negada pelo servidor SiTef.
-41 Dados inválidos.
-42 Reservado
-43 Problema na execução de alguma das rotinas no pinpad.
-50 Transação não segura.
-100 Erro interno do módulo.
outro valor negativo Erros detectados internamente pela rotina.
Os seguintes códigos estão disponíveis para serem usados no parâmetro Funcao descrita acima1.
Funcao Descrição
0 Pagamento genérico. A CliSiTef permite que o operador escolha a forma de pagamento através de
menus.
1 Cheque
2 Débito
3 Crédito
4 Fininvest
5 Cartão Benefício
6 Crédito Centralizado
7 Cartão Combustível
8 Parcele Mais Redecard
10 Benefício Refeição Wappa
11 Benefício Alimentação Wappa
12 Cartão Infocard
13 Pay Pass
15 Venda com cartão Gift
16 Débito para pagamento de carnê
100 Telemarketing: Inicia a coleta dos dados da transação no ponto necessário para tratar uma transação
de cartão de crédito digitado
1
Consulte documentos de produtos específicos para outros códigos de função
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 20 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
152 Consulta Saldo Cartão Gift
200 Cancelamento Normal: Inicia a coleta dos dados no ponto necessário para fazer o cancelamento de
uma transação de débito ou crédito, sem ser necessário passar antes pelo menu de transações
administrativas
201 Cancelamento Telemarketing: Similar a modalidade 200 só que para a função de cancelamento de
transação de crédito digitado
202 Cancelamento Pré-autorização
203 Cancelamento da Captura da Pré-autorização
210 Cancelamento de venda com cartão de Crédito
211 Cancelamento de venda com cartão de Débito
212 Cancelamento de venda com cartão Combustível
213 Cancelamento de Venda com Cartão Gift
250 Cancelamento de Consulta Bônus
251 Cancelamento Recarga Cartão Presente
253 Cancelamento Acúmulo de Pontos Cartão Bônus
254 Resgate de Pontos Cartão Bônus
255 Cancelamento de Resgate de Pontos Cartão Bônus
256 Acúmulo de Pontos Cartão Bônus
257 Cancelamento Recarga Cartão Gift
400 Vale-Gás
401 Validação Vale-Gás
410 Troco Surpresa
999 Fechamento
2
Consulte o item 5.12 - Carga de Tabelas no PinPad para maiores informações.
3
Consulte o item 5.11 - Informações do PinPad para maiores informações.
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 23 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
5.2.3 Parâmetros Adicionais
Parâmetros adicionais, válidos para a transação corrente, podem ser passadas para CliSiTef através do
parâmetro ParamAdic da rotina IniciaFuncaoSiTefInterativo e suas variantes.
Para atender a necessidade de algumas redes “Autorizadoras”, que necessitam de informações sobre o
Documento Fiscal Eletrônico emitido pelas “Automações Comerciais”, foram definidas 2 “funcionalidades” para
passar os dados necessários no parâmetro ParamAdic (ver detalhes no item Habilitação de configurações
especiais por transação).
Interface ASCII
Obs.: Como nem sempre o campo solicitado pela rotina precisa ser lido no momento da solicitação a rotina
aceita o valor 10000 para indicar que o campo não foi coletado naquele momento mas sim previamente, no
momento do fechamento da venda.
Um exemplo típico desta situação ocorre quando a automação já fechou com o cliente uma forma de
pagamento parcelado com cartão de crédito. Neste caso a automação pode, no momento que a coleta campo for
solicitada para ler o número de parcelas, já devolver o número previamente combinado sem capturar esse dado
do usuário.
Notar que nessa forma de uso é imprescindível que o dado seja apresentado para o operador que deverá
confirmar veracidade dele antes da rotina devolver o mesmo para a CliSiTef.
Notar também que esta forma de uso não é obrigatória, podendo a automação sempre capturar os dados da
tela. O uso desta característica poderá alterar o fluxo de coleta ou qualquer regra definida pelas bandeiras, por
isso antes de sua utilização realizar consulta a departamento de Suporte da Software Express que verificará a
necessidade de autorização prévia pelas bandeiras.
No retorno a rotina devolve os mesmos valores da rotina de Pagamento. Adicionalmente a estes valores, a
função devolve o valor 0 (Zero) para indicar que a função solicitada foi concluída com sucesso (p/ex: se for um
pagamento, ele foi aprovado pela administradora).
É importante salientar que a chamada que inicia o processo iterativo (aquela que é feita após ter sido recebido
o valor 10000 na chamada de uma função de Pagamento, Gerencial, etc...) deve ser feita com Comando,
TipoCampo, TamMinimo, TamMaximo e Continua contendo o valor 0 (zero).
Notar também que a automação comercial deve ficar em laço chamando a rotina aqui descrita até que ela
receba um resultado diferente de 10000 ou que a própria automação desista de continuar o processo, conforme
mostrado a seguir:
Chama a rotina
ContinuaFuncaoSiTefInterativo
Fim
Caso a automação deseje encerrar o processo de coleta ela deve, necessariamente, chamar a rotina
ContinuaFuncaoSiTefInterativo passando –1 (menos um) no campo Continua. Caso o processo de coleta deva
continuar, ela não deve modificar nenhum dos campos preenchidos pela CliSiTef a não ser o Buffer que, na nova
chamada, deve conter o resultado da coleta (se Comando diferente de 0) ou o dado original se Comando veio com
0. Notar ainda que mesmo que o Buffer contenha um campo coletado pela automação, o seu tamanho deve ser o
recomendado por esse documento pois irá conter, no retorno, novos dados fornecidos pela rotina.
Notar que o campo Buffer pode ter sido preenchido pela rotina com algum dado para ser memorizado,
apresentado no visor ou outro motivo, segundo o que está especificado na descrição de cada comando que o
aplicativo de automação deve tratar.
IMPORTANTE: É obrigatório que a automação SEMPRE colete campos não tratáveis por ela ou seja, se ela
receber algum código em TipoCampo que ela desconheça ou não deseje tratar, que a informação seja capturada
pela digitação pelo operador da informação solicitada.
A seguir apresentamos os valores possíveis para o parâmetro Comando e a ação que a aplicação deve executar
ao recebê-lo. É importante que a automação comercial trate todos os comandos desta tabela.
Comando Descrição
0 Está devolvendo um valor para, se desejado, ser armazenado pela automação
1 Mensagem para o visor do operador
2 Mensagem para o visor do cliente
3 Mensagem para os dois visores
4 Texto que deverá ser utilizado como título na apresentação do menu ( vide comando 21)
11 Deve remover a mensagem apresentada no visor do operador (comando 1)
12 Deve remover a mensagem apresentada no visor do cliente (comando 2)
13 Deve remover mensagem apresentada no visor do operador e do cliente (comando 3)
14 Deve limpar o texto utilizado como título na apresentação do menu (comando 4)
15 Cabeçalho a ser apresentado pela aplicação. Refere-se a exibição de informações adicionais que
algumas transações necessitam mostrar na tela.
A rotina da aplicação deve apresentar as opções da forma que ela desejar (não sendo necessário
incluir os índices 1,2, ...).
Após a seleção feita pelo usuário, retornar em Buffer o índice i escolhido pelo operador (em ASCII)
22 Deve apresentar a mensagem em Buffer, e aguardar uma tecla do operador. É utilizada quando se
deseja que o operador seja avisado de alguma mensagem apresentada na tela.
23 Este comando indica que a rotina está perguntando para a aplicação se ele deseja interromper o
processo de coleta de dados ou não. Esse código ocorre quando a CliSiTef está acessando algum
periférico e permite que a automação interrompa esse acesso (por exemplo: aguardando a
passagem de um cartão pela leitora ou a digitação de senha pelo cliente)
Observação: É importante que a “Aplicação da Automação Comercial” não coloque
“delays” ao tratar este comando. Neste ponto, algum dispositivo (pinpad, leitora de código de
barras...) está efetuando algum processamento (lendo cartão/código de barras, coletando
senha) e um “delay” causa atrasos no acesso aos dados do dispositivo, que pode não estar
29 Análogo ao comando 30, porém deve ser coletado um campo que não requer intervenção do
operador de caixa, ou seja, não precisa que seja digitado/mostrado na tela, e sim passado
diretamente para a biblioteca pela automação.
Um exemplo são as formas de pagamento que algumas transações requerem para identificar qual
o tipo de pagamento que está sendo usado.
O valor a ser coletado refere-se ao campo indicado em TipoCampo, cujo tamanho está entre
TamMinimo e TamMaximo. O campo deve ser devolvido em Buffer.
30 Deve ser lido um campo cujo tamanho está entre TamMinimo e TamMaximo. O campo lido deve
ser devolvido em Buffer.
31 Deve ser lido o número de um cheque. A coleta pode ser feita via leitura de CMC-7, digitação do
CMC-7 ou pela digitação da primeira linha do cheque.
Sugerimos que na coleta seja apresentada uma interface que permita ao operador identificar e
digitar adequadamente estas informações de forma que a consulta não seja feita com dados
errados, retornando como bom um cheque com problemas.
34 Deve ser lido um campo monetário ou seja, aceita o delimitador de centavos e devolvido no
parâmetro Buffer.
35 Deve ser lido um código em barras ou o mesmo deve ser coletado manualmente.
No retorno Buffer deve conter “0:” ou “1:” seguido do código em barras coletado manualmente ou
pela leitora, respectivamente.
Cabe ao aplicativo decidir se a coleta será manual ou através de uma leitora. Caso seja coleta
manual, recomenda-se seguir o procedimento descrito na rotina ValidaCampoCodigoEmBarras4 de
forma a tratar um código em barras da forma mais genérica possível, deixando o aplicativo de
automação independente de futuras alterações que possam surgir nos formatos em barras.
No retorno do Buffer também pode ser passado “2:”, indicando que a coleta foi cancelada, porém
4
Vide Verificação da integridade de um código em barras para maiores informações.
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 28 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
o fluxo não será interrompido, logo no caso de pagamentos múltiplos, todos os documentados
coletados anteriormente serão mantidos e o fluxo retomado, permitindo a efetivação de tais
pagamentos.
41 Análogo ao Comando 30, porém o campo deve ser coletado de forma mascarada.
42 Menu identificado. Deve apresentar um menu de opções e permitir que o usuário selecione uma
delas.
A rotina da aplicação deve apresentar as opções da forma que ela desejar (não sendo necessário
incluir os índices 1,2, ..., nem códigos do campo, tipo e classe) e após a seleção feita pelo usuário,
retornar em Buffer o índice i escolhido pelo operador (em ASCII).
Dentro de cada “classe” existe a codificação de “tipos”, e cada par (classe, tipo) indica a natureza
da opção. Inicialmente foi implementada apenas a identificação para as formas de pagamento. A
ideia é adicionar códigos que identificam as opções do menu para possibilitar que o PDV
identifique essas opções sem o auxílio do operador.
Classe Descrição
0 Classe não definida
1 Forma de pagamento
Tipo Descrição
1 Dinheiro
2 Cheque
3 Débito
4 Crédito
5 Saque
6 Outra forma
Os demais menus não estão identificados. Os menus não identificados recebem o valor zerado
nesses campos, indicando que ainda não houve a necessidade de classificá-los.
As classes de opção têm como objetivo definir um contexto para o qual o código que identifica o
tipo de opção seja determinado. Assim, uma opção no menu é identificada sempre a partir do par
tipo da opção e classe da opção.
Esse comando passa a ser utilizado quando o parâmetro adicional ItemMenuIdentificado for
utilizado (Habilitação de configurações especiais). Nesse caso, o comando 21 (coleta de menu) será
substituído na maior parte dos casos, sendo obrigação da aplicação estar preparada para tratar os
dois comandos, quando esse parâmetro estiver habilitado.
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 29 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
5.3.2 Tabela de valores para TipoCampo
Note que nem todos os campos são retornados em todas as transações. Além disso, existem campos que
somente são retornados se a transação foi aprovada.
O aplicativo de automação deve ignorar aqueles campos que não desejar/não souber tratar uma vez que, em
versões futuras da CliSiTef, novos campos poderão ser disponibilizados. Note que a forma correta de ignorar estes
campos é executar a função definida em ProximoComando ou simplesmente ignorar o dado retornado para a
aplicação quando ProximoComando for 0.
Cabe a automação comercial armazenar os comprovantes para impressão na hora apropriada, segundo a
legislação Fiscal vigente.
TipoCampo Descrição
-1 Não existem informações que podem/devem ser tratadas pela automação
0 A rotina está sendo chamada para indicar que acabou de coletar os dados da transação e irá iniciar
a interação com o SiTef para obter a autorização
1 Dados de confirmação da transação. Para ambientes com múltiplos servidores será retornado no
seguinte formato:
<Dados_Confirmacao>;<Indice_SiTef>;<Endereco_SiTef>
2 Informa o código da função SiTef utilizado na mensagem enviada para o servidor.
10 a 99 Informa qual a opção selecionada no menu de navegação de transações seguindo a mesma
e codificação utilizada para definir as restrições no pagamento descritas no item Restrição ou
3000 a habilitação das formas de pagamento.
3999
100 Modalidade de pagamento no formato xxnn.
xx corresponde ao grupo da modalidade e nn ao sub-grupo.
xx Grupo
00 Cheque
01 Cartão de Débito
02 Cartão de Crédito
03 Cartão tipo Voucher
5
Consulte documentos de produtos específicos para outros códigos de campo.
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 30 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
05 Cartão Fidelidade
98 Dinheiro
99 Outro tipo de cartão
nn Sub-Grupo
00 À vista
01 Pré-datado
02 Parcelado com financiamento pelo estabelecimento
03 Parcelado com financiamento pela administradora
99 Outro tipo de pagamento
101 Contém o texto real da modalidade de pagamento que pode ser memorizado pela aplicação caso
exista essa necessidade. Descreve por extenso o par xxnn fornecido em 100
102 Contém o texto descritivo da modalidade de pagamento que deve ser impresso no cupom fiscal
(p/ex: T.E.F., Cheque, etc...)
105 Contém a data e hora da transação no formato AAAAMMDDHHMMSS
110 Retorna quando uma transação for cancelada. Contém a modalidade de cancelamento no formato
xxnn, seguindo o mesmo formato xxnn do TipoCampo 100. O sub-grupo nn todavia, contém o valor
default 00 por não ser coletado.
111 Contém o texto real da modalidade de cancelamento que pode ser memorizado pela aplicação caso
exista essa necessidade. Descreve por extenso o par xxnn fornecido em 110.
112 Contém o texto descritivo da modalidade de cancelamento que deve ser impresso no cupom fiscal
(p/ex: T.E.F., Cheque, etc...).
115 Modalidade Ajuste
120 Buffer contém a linha de autenticação do cheque para ser impresso no verso do mesmo
121 Buffer contém a primeira via do comprovante de pagamento (via do cliente) a ser impressa na
impressora fiscal. Essa via, quando possível, é reduzida de forma a ocupar poucas linhas na
impressora. Pode ser um comprovante de venda ou administrativo
122 Buffer contém a segunda via do comprovante de pagamento (via do caixa) a ser impresso na
impressora fiscal. Pode ser um comprovante de venda ou administrativo
123 Indica que os comprovantes que serão entregues na seqüência são de determinado tipo:
COMPROVANTE_COMPRAS = "00"
COMPROVANTE_VOUCHER = "01"
COMPROVANTE_CHEQUE = "02"
COMPROVANTE_PAGAMENTO = "03"
COMPROVANTE_GERENCIAL = "04"
COMPROVANTE_CB = "05"
COMPROVANTE_RECARGA_CELULAR = "06"
COMPROVANTE_RECARGA_BONUS = "07"
COMPROVANTE_RECARGA_PRESENTE = "08"
COMPROVANTE_RECARGA_SP_TRANS = "09"
COMPROVANTE_MEDICAMENTOS = "10"
00 Dinheiro
01 Cheque
02 TEF Débito
03 TEF Crédito
04 Cartão Presente (Pré-Pago) Carrefour
05 Cartão Bônus Carrefour
06 Cartão Carrefour
07 Saque para pagamento
08 Saque
09 DCC Carrefour
50 TEF Cartão
77 Campo Reservado
732 Dados a serem enviados para o Tipo de Pagamento (Campo 730) retornado anteriormente, repete
“n” vezes, onde “n” é o número de dados a serem enviados para o respectivo Tipo de Pagamento:
00 Campo Reservado
01 Tipo de Entrada do Cheque
02 Dados do Cheque
03 Rede Destino
04 NSU do SiTef da transação de TEF
05 Data do SiTef da transação de TEF (não utilizado, uso futuro)
06 Código da Empresa (Loja) da transação de TEF
07 NSU do Host da transação de TEF
08 Data do Host da transação de TEF (Campo 105 CliSiTef)
09 Código de Origem (Estabelecimento) da transação de TEF
10 Serviço Z da transação de TEF
11 Código de Autorização da transação de TEF
12 Valor do Cheque
734 Limite mínimo de venda para promoções flexíveis, com 12 dígitos sendo os 2 últimos dígitos
referentes as casas decimais
738 Valor sugerido para o produto selecionado.
739 Cliente Preferencial
750 Valor Pague Fácil CB
751 Valor Tarifa Pague Fácil CB
952 Número de autorização NFCE
0 - Sucesso.
1 - Erro passível de fallback.
2 - Aplicação requerida não suportada.
2093 Código do atendente
2103 Indica se foi transação offline : 1 : Sim
2109 Senha temporária
2124 Valor da tarifa da Recarga de Celular
2125 Número da parcela (2 caracteres) (Hotcard)
2126 Seqüencial da transação (6 caracteres) (Hotcard)
2301 Rodapé do comprovante da via estabelecimento
2320 Código do Depositante – CB
2321 Código do Cliente - CB
2322 Sequencia Cartão – CB
2323 Via Cartão - CB
2324 Tipo do Extrato – CB
2325 Valor limite de Transferência - CB
2326 Valor limite para coleta de CPF/CNPJ – CB
2327 CPF/CNPJ do Proprietário – CB
2328 CPF/CNPJ do Portador – CB
Não é um campo que é retornado em todas as coletas de campo, somente em situações que devem
ser tratadas no documento específico de cada rede.
2361 Indica que foi efetuada uma transação de débito para pagamento de carnê
2362 Retornado logo após a transação de consulta de bins. O valor 1 indica que o autorizador é capaz de
tratar de forma diferenciada transação de débito convencional de débito para pagamento de
contas.
2369 Pontos a resgatar (numérico sem casa decimal).
2421 Informa se está habilitada a função de coleta de dados adicionais do cliente (0 ou 1)
2467 Data no Formato DDMMAA Confirmação Positiva
2468 Data no Formato DDMM Confirmação Positiva
2469 Data no Formato MMAA Confirmação Positiva
2470 Campo com Ponto Flutuante
2601 Mensagem para pinpad
2602 Semente Hash
2603 Modalidade para leitura de cartão através da função 431.
4000 Status da Pré-Autorização – PBM
4001 CRF – PBM
4002 UF do CRF – PBM
4003 Tipo de venda – PBM
4004 Valor total PBM
4005 Valor a vista PBM
4006 Valor cartão PBM
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 42 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
4007 Nosso número PBM
4008 Percentual de desconto concedido pela administradora (2 casas decimais)
4016 Preço bruto – PBM
4017 Preço líquido – PBM
4018 Valor a receber da Loja, em centavos – PBM
4019 Número do lote gerado pela Central – PBM
4020 Valor total a receber da loja – PBM
4021 Valor total a receber da loja – PBM
4022 Soma dos valores da Operação – PBM
4023 Nome da operadora – PBM
4024 Nome da empresa conveniada – PBM
4025 Quantidade de dependentes – PBM
4026 Código do dependente – PBM
4027 Nome do dependente – PBM
4028 Valor a receber do conveniado – PBM
4029 Valor do desconto total, em centavos
4030 Valor liquido total, em centavos - PBM
4031 Código da Operadora Selecionada PBM (deverá ser gravado para posterior envio nas demais
transações)
4032 Campo de retorno de dados livres referentes às transações PBM.
4033 Tipo de documento PBM (0 = CRM, 1 = CRO)
4034 Dados do Resgate - Bônus
4039 Código Resposta PBM (0 = Ok, <>0 = erro)
4040 Produto Fracionado PBM (0 = não, 1 = sim)
4041 Paciente ID PBM (-1 = outros, 00 = titular, 01 = dependente)
4043 Receita ID PBM (receita cadastrada pela empresa)
4044 Receita item ID PBM (item da receita cadastrada pela empresa)
4045 Receita uso contínuo (0 = não, 1 = sim)
4046 Produto Manipulado PBM (princípios ativos)
4047 Produto Manipulado PBM Valor Original
4058 Valor do Produto Aprovado com Desconto
4076 Identificação da Loja
4095 CPF/CNPJ do Beneficiario
4096 CPF/CNPJ do Sacador
4097 CPF/CNPJ do Pagador
TipoCampo Descrição
5000 Indica que a biblioteca está aguardando a leitura de um cartão
5001 Indica que a biblioteca está esperando a digitação da senha pelo usuário
5002 Indica que a biblioteca está esperando a digitação dos dados de confirmação positiva pelo usuário
5003 Indica que a biblioteca está aguardando a leitura do bilhete único
5004 Indica que a biblioteca está aguardando a remoção do bilhete único
5005 Indica que a transação foi finalizada
5006 Confirma Dados Favorecido
5007 SiTef Conectado
5008 SiTef Conectando
5009 Consulta OK
5010 Colher Assinatura
5011 Coleta Novo Produto
5012 Confirma Operação
5013 Confirma Cancelamento
5014 Confirma Valor Total
5015 Conclusão de Recarga de Bilhete Único
5016 Reservado
5017 Aguardando leitura de cartão
5018 Aguardando digitação da senha no PinPad
5019 Aguardando processamento do chip
5020 Aguardando remoção do cartão
5021 Aguardando confirmação da operação
Esta função também deve ser utilizada para desfazer uma transação interrompida por uma queda de energia
ou qualquer outro problema no aplicativo.
Essa rotina confirma ou cancela TODOS os pagamentos vinculados ao mesmo Número do Cupom Fiscal e
mesma Data Fiscal passados como parâmetro.
Interface ASCII
Interface Interface
Parâmetro Tipo Descrição
padrão ASCII
Saída, Não
Resultado Fixo 6 Contém o resultado de resposta à chamada da rotina.
por valor usado
Entrada, Indica se a transação deve ser confirmada (1) ou estornada
Confirma short Fixo 1
por valor (0)
Entrada,
CupomFiscal char * Máx. 20 Número do Cupom Fiscal correspondente à venda
por valor
Entrada,
DataFiscal char * Fixo 8 Data Fiscal no formato AAAAMMDD
por valor
Entrada,
HoraFiscal char * Fixo 6 Horário Fiscal no formato HHMMSS6
por valor
Entrada, Parâmetros adicionais, descritos abaixo. Se não usado,
ParamAdic char * Variável
por valor automação deve passar vazio/NULL.
Exemplo: Uma venda realizada pela função IniciaFuncaoSiTefInterativo, passando como parâmetros Funcao 0,
Valor 10,00, Cupom Fiscal 12345, Data Fiscal 20150101, Hora Fiscal 121500. Na confirmação da transação, a
função FinalizaFuncaoSiTefInterativo deve ser chamada utilizando os seguintes parâmetros: Confirma 1, Cupom
Fiscal 12345, Data Fiscal 20150101, Hora Fiscal 121500, ParamAdic como vazio/NULL, já que não há dados
adicionais.
6
O parâmetro HoraFiscal não é usado como “chave” para um documento fiscal.
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 46 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
5.4.1 Finalização de pagamentos individuais em um mesmo cupom fiscal
Para cada pagamento, a CliSiTef retorna no TipoCampo 161 (Número do pagamento no cupom) um
índice/contador correspondente ao pagamento.
Para fazer a (não-) confirmação de um pagamento específico dentro de um cupom fiscal, a automação deve
informar este valor à rotina FinalizaFuncaoSiTefInterativo como um parâmetro adicional:
{NumeroPagamentoCupom=XXX}
Para fazer a (não) confirmação de pagamentos referentes a uma determinada rede autorizadora, deve-se
passar na rotina FinalizaFuncaoSiTefInterativo o seguinte parâmetro adicional:
{RedeConfirmacao=XXX}
Para anexar dados referentes às formas de pagamento de uma transação, devem-se capturar os campos: 161
(Número do pagamento no cupom), 730 (Número máximo de formas de pagamento), 731 (Tipos de pagamento
habilitados) e 732 (Dados a serem coletados para o tipo de pagamento), retornados no fluxo da transação, e
repassá-lo à rotina FinalizaFuncaoSiTefInterativo através dos parâmetros adicionais NumeroPagamentoNFPAG e
NFPAG.
{NumeroPagamentoNFPAG=X}{NFPAG=Y}
Onde:
Observação: Neste caso, todos os pagamentos em um mesmo cupom fiscal serão todos confirmados ou não
confirmados.
{NFPAG=FPAG1;FPAG2; FPAG3;...;FPAGn;}
=> ValorN: indica o valor utilizado com esta forma de pagamento, com duas casas decimais, sem a vírgula
=> IDColetaNn: indica o ID do campo que foi coletado pelo PDV (Campo 732, conforme tabela abaixo)
=> DadoColetaNn: indica o conteúdo coletado pelo PDV para este campo
Observação: A consistência dos valores (soma das várias formas de pagamento utilizadas, totalizando o valor
da transação realizada) deve ser feita pelo PDV.
Exemplo:
Ao final de uma transação no valor de R$ 50,00, retornando o campo 730 igual a 2 e os campos 731 e 732
indicando que aceita as seguintes formas de pagamento: Dinheiro (sem dados a serem coletados); TEF Débito
(precisa enviar a Rede Destino, o NSU do Host, a Data do Host e o Código de Origem da transação de TEF) e TEF
Crédito. O campo 730 igual a 2, indica que no parâmetro NFPAG podem ser enviados no máximo 2 formas de
pagamento.
O PDV, por sua vez, na confirmação da transação, enviará as formas de pagamento que foram efetivamente
utilizadas: R$ 30,00 foram pagos em dinheiro e R$ 20,00 foram pagos com cartão de débito da Redecard (Rede
Destino = 5; NSU do Host = 123456789; Data do Host = 15/12/2008; Código de Origem = 000000000000001).
{NFPAG=00:3000;02:2000:03:5-07:123456789-08:15122008-09:000000000000001;}
Observação: Todas as formas de pagamento devem ser separadas por ; (ponto-e-vírgula), inclusive o último
deve ser finalizado por ;
730 Número máximo de formas de pagamento a ser enviado através do parâmetro NFPAG. 0 para sem
limite.
731 Tipo de Pagamento Habilitado, repete “n” vezes, onde “n” é o número de formas de pagamento
habilitadas:
00 Dinheiro
01 Cheque
02 TEF Débito
03 TEF Crédito
04 Cartão Presente (Pré-Pago) Carrefour
05 Cartão Bônus Carrefour
06 Cartão Carrefour
07 Saque para pagamento
08 Saque
09 DCC Carrefour
50 TEF Cartão
77 Campo Reservado
99 Outras Formas
732 Dados a serem enviados para o Tipo de Pagamento (Campo 731) retornado anteriormente,
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 48 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
repete “n” vezes, onde “n” é o número de dados a serem enviados para o respectivo Tipo de
Pagamento:
00 Campo Reservado
01 Tipo de Entrada do Cheque ‘0’: leitura de CMC-7
‘1’: digitação da primeira linha do cheque
‘2’: digitação do CMC-7
02 Dados do Cheque - CMC-7 lido ou digitado, ou
- digitação da primeira linha do cheque,
com o seguinte formato: Compensação
(3), Banco (3), Agência (4), C1 (1), Conta
Corrente (10), C2 (1), Número do Cheque
(6) e C3 (1), nesta ordem.
03 Rede Destino (Campo 131) Identificação do autorizador da transação
de TEF.
04 NSU do SiTef da transação de TEF (Campo Identificação da transação de TEF no
133) SiTef.
05 Data do SiTef da transação de TEF Não utilizado (Uso futuro).
06 Código da Empresa da transação de TEF Código do SiTef para a Empresa utilizada
na transação de TEF.
07 NSU do Host da transação de TEF (Campo Identificação da transação de TEF no
134) Host.
08 Data do Host da transação de TEF (Campo Data da transação de TEF no Host, no
105) formato DDMMAAAA.
09 Código de Origem da transação de TEF Código de Estabelecimento da transação
(Campo 157) de TEF.
10 Serviço Z da transação de TEF (Campo 1. Valor do serviço Z devolvido pelo módulo
Passar apenas o dados de confirmação, Sit responsável pela transação de TEF.
retirando os dados do índice do SiTef e
endereço do SiTef caso existam, segue o
formato desse campo:
DadosConfirmação;IndiceSiTef;EnderecoSiTef
[Geral]
DevolveConfirmacaoExtendida=0
O campo de ID 13, diferente dos demais, não indica um campo que deve ser coletado, ele funciona apenas
como um complemento para o campo de ID 03, enviando a lista de Redes Destino permitidas, no seguinte
formato:
IDColetaNn(Rede1,Rede2,...,RedeN)
Ou seja, caso apenas o campo de ID 03 esteja presente, deve ser coletada a Rede Destino, sem nenhuma
restrição quanto as Redes que podem pagar a Recarga. No entanto, caso estejam presentes os campos de ID 03 e
13, o primeiro indica que deve ser coletada a Rede Destino, enquanto o segundo indica quais as Redes Destino
que são permitidas para o pagamento da Recarga.
Além disso, como a coleta foi indicada pelo ID 03, o PDV deve enviar a Rede Destino ao Sit também por meio
deste ID (e não pelo ID 13).
Esta função é utilizada pelo terminal para saber quantas transações foram realizadas em caso de queda de
energia e que estão pendentes de uma ação da automação, via chamada da função FinalizaFuncaoSiTefInterativo.
Interface ASCII
Interface Interface
Parâmetro Tipo Descrição
padrão ASCII
A rotina retorna a quantidade de transações pendentes para o documento fiscal informado, ou -13 caso não
tenha sido encontrado o documento fiscal.
IMPORTANTE: Essa rotina apenas inicia o processo de solicitação. Se o retorno for 10000, o processo deve
prosseguir através da rotina ContinuaFuncaoSiTefInterativo até que esta devolva um resultado final diferente de
10000.
TipoCampo Descrição
210 Quantidade total de pendências, listadas nos blocos de dados abaixo
De forma análoga ao item anterior, é possível consultar os dados referentes a um único documento fiscal.
Para tanto, utilize a função IniciaFuncaoSiTefInterativo passando no parâmetro Funcao o valor 131 e os demais
parâmetros com seus valores usuais. Neste caso, serão considerados os parâmetros relativos ao documento
fiscal.
É possível verificar a presença do dispositivo PinPad e se ele está operacional. Para tanto, são enviados
comandos lógicos de abertura e fechamento do canal de comunicação.
A partir da versão 4.0.114.4, foi criada uma segunda função, onde são enviados menos comandos para o
pinpad, e sem que o visor do pinpad ligue/desligue.
Ambas rotinas não possuem parâmetros de entrada, e podem retornar os seguintes valores:
outro número - erros detectados internamente pela rotina ou pela biblioteca de acesso ao PinPad
Permite que seja definida uma mensagem permanente para ser apresentada no PinPad durante o tempo que
ele não está em uso. O formato de ativação da rotina é o seguinte:
Interface ASCII
Interface Interface
Parâmetro Tipo Descrição
padrão ASCII
Resultado Saída, Não Fixo 6 Contém o resultado de resposta à chamada da rotina.
por valor usado
Mensagem Entrada, char * Variável Mensagem a ser apresentada no visor do PinPad.
por valor Recomenda-se que ela possua no máximo 32 caracteres de
forma a ser compatível com os PinPad’s existente
atualmente em campo.
A aplicação, se desejar, pode incluir o caractere ‘|’ (Barra vertical) para indicar uma mudança de linha.
Esta função permite que o aplicativo capture uma trilha 3 magnética genérica.
Não deve ser utilizada para tratamento das transações de pagamento mas apenas para leitura de cartões
internos do estabelecimento comercial (p/ex. cartão de supervisor). O formato de ativação é o seguinte:
Interface Interface
Parâmetro Tipo Descrição
padrão ASCII
Resultado Saída, Não Fixo 6
Contém o resultado de resposta à chamada da rotina.
por valor usado
Mensagem Entrada, char * Variável Mensagem a ser apresentada no visor do PinPad.
por valor
No retorno, a rotina devolve os mesmos valores que a rotina de pagamento. O aplicativo obtém as trilhas
através da chamada a função de continuação do processo iterativo.
IMPORTANTE: Esta função NÃO pode ser utilizada durante a execução do laço
ContinuaFuncaoSiTefInterativo.
1) Configuração do arquivo de chaves .cha no servidor SiTef. Caso a configuração não esteja feita, essas
funções retornam o erro 12 (MODO SEGURO NÃO ATIVO).
2) Após a instalação do arquivo de chaves .cha no servidor SiTef, a Automação deve, pelo menos uma vez, se
comunicar com o servidor SiTef. Isto é necessário para que a estação PDV faça a baixa dos dados que
permitem a execução das rotinas de Leitura do cartão seguro). Para isso, execute um Teste de
Comunicação ou uma transação financeira.
Interface ASCII
Interface Interface
Parâmetro Tipo Descrição
padrão ASCII
Resultado Saída, Não Fixo 6 Contém o resultado de resposta à chamada da rotina.
por valor usado
Mensagem Entrada, char * Variável Mensagem a ser apresentada no visor do PinPad.
por valor
No retorno a rotina devolve os mesmos valores que a rotina de pagamento. O aplicativo obtém as trilhas
através da chamada a função de continuação do processo iterativo.
Os campos retornados no processo iterativo são os referentes aos campos sensíveis (2021 a 2046).
Observação:
Estas funções não estão disponíveis para ambientes Mobile. Devido a dificuldades de utilização de entrypoints
de funções, e visando facilitar a sua implementação, foi disponibilizada a “Função” 430 que é uma alternativa
para utilizar a função “LeCartaoSeguro”.
• Para utilização da “Função” 430, o parâmetro “Mensagem” a ser exibida no display do pinpad, será
solicitada à Automação Comercial no fluxo da transação através do comando 29 (Ver item “5.3.1 - Tabela de
códigos de Comando”). Caso não seja fornecida pela Automação, será exibida a mensagem default “PASSE O
CARTAO”.
• Para leitura do cartão através da função 430, foi incluído o parâmetro adicional “SementeHash”(não
utilizada quando a função LeCartaoSeguro é chamada diretamente) que é opcional e será solicitado no fluxo da
transação. Se parâmetro “SementeHash” for utilizado, opcionalmente poderá ser fornecida através do parâmetro
“ParamAdic” na chamada da função IniciaFuncaoSiTefInterativo, neste caso, não será solicitado no fluxo da
transação.
Caso este parâmetro seja utilizado, os dados retornados para a Automação Comercial serão hash geradas a
partir da semente informada (Campo tipo 203x. Ver tabela “Campos que podem ser retornados” abaixo).
{SementeHash=XX...XX}
IMPORTANTE: Essas funções NÃO podem ser utilizadas durante a execução do laço
ContinuaFuncaoSiTefInterativo. Para esse tipo de situação existem as versões que fazem o acesso direto a leitora
de cartão descritas a seguir.
Interface ASCII
Interface Interface
Parâmetro Tipo Descrição
padrão ASCII
Resultado Saída, Não Fixo 6 Contém o resultado de resposta à chamada da rotina.
por valor usado
Mensagem Entrada, char * Variável Mensagem a ser apresentada no visor do PinPad.
por valor
TipoCampoT Saída, char * Fixo 12 Indica o tipo de campo que foi retornado na trilha 1, se ele
rilha1 por valor é mascarado, criptografado ou em Hash.
Trilha1 Saída, char * Máx. 128 No retorno contém, caso exista, a Trilha 1 lida
por valor
TipoCampoT Saída, char * Fixo 12 Indica o tipo de campo que foi retornado na trilha 2, se ele
rilha2 por valor é mascarado, criptografado ou em Hash.
Trilha2 Saída, char * Máx. 80 No retorno contém, caso exista, a Trilha 2 lida
por valor
Timeout Entrada, short Fixo 6 Define o tempo máximo de espera pela passagem do cartão
por valor em segundos. Se zero, espera até que o cartão seja passado
TestaCancel Entrada, Rotina Não
Rotina da aplicação de automação que retorna 0 se é para
amento por valor continuar aguardando pelo cartão e 1 caso deva
usado
interromper o processo de aguardar a passagem do cartão
No retorno a rotina devolve o valor 0 (zero) caso tenha sido executada corretamente e um valor diferente de
zero em caso de erro ou interrupção.
Valor Descrição
0 Não ocorreu erro
1 Campo de saída insuficiente
2 BIN NAO HABILITADO
3 CNPJ inválido
4 Chave de acesso vencida
5 Versão inválida
6 Chave de criptografia inválida
7 Dados não criptografados com a chave fornecida como parâmetro: a decriptografia resultou em um
número de cartão que não é composto só por dígitos.
8 Dado de entrada inválido
TipoCampo Descrição
202x Campos abertos, mascarados.
203x Hash dinâmico dos campos
204x Campos criptografados
205x Hash fixo dos campos *
x Campo
1 PAN do cartão
2 Vencimento do cartão (AAMM)
3 Nome do cliente/portador
4 Trilha 1
5 Trilha 2
6 Trilha 3
* As novas implementações devem utilizar o campo 203x, pois o campo 205x devolve um hash criptografado
utilizando a chave de criptografia inserida pelo cliente no arquivo .cha. Essa forma de uso (205x) existe apenas
por compatibilidade, pois o ideal é utilizar o Hash com Salt (Semente - 203x) uma vez que a informação utilizada
para gerar o hash fica escondida apenas dentro das aplicações que o utilizam, tornando o processo de reversão
do hash até obter o dado original praticamente impossível de ser executado pela força bruta.
IMPORTANTE: Essas funções NÃO podem ser utilizadas durante a execução do laço
ContinuaFuncaoSiTefInterativo. Para esse tipo de situação existem as versões que fazem o acesso direto a leitora
de cartão descritas a seguir.
Interface ASCII
Interface Interface
Parâmetro Tipo Descrição
padrão ASCII
Resultado Saída, Não Fixo 6 Contém o resultado de resposta à chamada da rotina.
por valor usado
Mensagem Entrada, char * Variável Mensagem a ser apresentada no visor do PinPad.
por valor
DadosOut Saída, char * Variável Retorna os mesmos dados da rotina LeCartaoDiretoSeguro,
por valor concatenados no formato TLV, onde T corresponde ao tipo
do campo (tamanho 5), L é o tamanho do campo (tamanho
3) e V é o campo (tamanho do campo).
TamDadosO Entrada, char * Fixo 6 Tamanho do buffer de DadosOut.
ut por valor
Timeout Entrada, short Fixo 6 Define o tempo máximo de espera pela passagem do cartão
por valor em segundos. Se zero, espera até que o cartão seja passado
TestaCancel Entrada, Rotina Não Rotina da aplicação de automação que retorna 0 se é para
amento por valor usado continuar aguardando pelo cartão e 1 caso deva
interromper o processo de aguardar a passagem do cartão
Interface ASCII
Interface Interface
Parâmetro Tipo Descrição
padrão ASCII
Resultado Saída, Não Fixo 6 Contém o resultado de resposta à chamada da rotina.
por valor usado
Modalidade Entrada, Int Fixo Seleciona o tipo do pagamento:
por valor 2 : Débito
3 : Crédito
ParamAdic Entrada, char * Variável Parâmetros adicionais, como o {SementeHash=XXX..}. É
por valor opcional e pode ser vazio
Essas funções funcionam da mesma maneira das LeCartaoSeguro/LeCartaoSeguroA, com a diferença que estas
aceitam cartões com chip.
Observação:
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 58 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Estas funções, “LeTrilhaChipInterativo”, “LeTrilhaChipInterativoEx” e “LeTrilhaChipInterativoA” não são
exportadas para ambiente Mobile. Devido a dificuldades de utilização de entrypoints de funções, neste ambiente,
e visando facilitar a sua implementação, foi disponibilizada a “Função” 431 para acesso à função
“LeTrilhaChipInterativoEx”. Esta “Função” segue o fluxo de uma transação “Gerencial” e é acessada através de
IniciaFuncaoSiTefInterativo(Ver item “3.2 Início da transação de Pagamento ou Gerencial”).
• Se parâmetro “SementeHash” for utilizado, opcionalmente poderá ser fornecida através do parâmetro
“ParamAdic” na chamada da função IniciaFuncaoSiTefInterativo, neste caso, não será solicitado no fluxo da
transação. Se solicitado no fluxo da transação através do comando 29 e o parâmetro não é utilizado, retornar o
campo vazio.
Caso este parâmetro seja utilizado, os dados retornados para a Automação Comercial serão hash geradas a
partir da semente informada (Campo tipo 203x. Ver tabela “Campos que podem ser retornados” acima).
Esta função permite que o aplicativo capture no PinPad uma senha de um cliente de cartão do próprio
estabelecimento comercial (cartão proprietário). Não deve, em nenhuma hipótese, ser utilizada para captura de
senhas dos cartões tradicionais. Para maiores detalhes, consulte o documento “Acesso a Senha do Cliente para
Cartão Proprietário CliSiTef.doc”.
Interface ASCII
Interface Interface
Parâmetro Tipo Descrição
padrão ASCII
Resultado Saída, Não Fixo 6 Contém o resultado de resposta à chamada da rotina.
por valor usado
ChaveSegura Entrada, char * Fixo 64 Dados gerados por uma biblioteca de segurança fornecida
nca por valor pela Software Express para habilitar a captura da senha do
cliente. Neste caso, a CliSiTef poderá interagir com o SiTef
para obter ou validar os dados de segurança necessários
para a captura
No retorno a rotina devolve os mesmos valores que a rotina de pagamento. O aplicativo obtém a senha
através da chamada a função de continuação do processo iterativo.
IMPORTANTE: Essas funções NÃO podem ser utilizadas durante a execução do laço
ContinuaFuncaoSiTefInterativo. Para esse tipo de situação existem as versões que fazem o acesso direto a leitora
de senhas descritas a seguir.
Interface ASCII
Interface Interface
Parâmetro Tipo Descrição
padrão ASCII
Resultado Saída, Não Fixo 6 Contém o resultado de resposta à chamada da rotina.
por valor usado
ChaveSegura Entrada, char * Fixo 64 Dados gerados por uma biblioteca de segurança fornecida
nca por valor pela Software Express para habilitar a captura da senha do
cliente. Neste caso, a CliSiTef poderá interagir com o SiTef
para obter ou validar os dados de segurança necessários
para a captura
Senha Saída, por char * Fixo 20 Senha do cliente, em formato criptografado, e que deve ser
valor passada para uma rotina personalizada por cliente para sua
descriptografia
No retorno a rotina devolve o valor 0 (zero) caso tenha sido executada corretamente e um valor diferente de
zero em caso de erro ou cancelamento pelo usuário.
Estas funções permitem que o aplicativo solicite uma confirmação no PinPad. O formato de ativação é o
seguinte:
Interface ASCII
Interface Interface
Parâmetro Tipo Descrição
padrão ASCII
Resultado Saída, Não Fixo 6
Contém o resultado de resposta à chamada da rotina.
por valor usado
Mensagem Entrada, char * Variável Mensagem a ser apresentada no visor do PinPad.
por valor
No retorno a rotina devolve 0 se o cliente pressionou a tecla de Cancelamento, 1 se ele pressionou a tecla de
Confirmação e outro valor em caso de erro no acesso ao PinPad.
Notar que essa função não é iterativa ou seja, o controle de execução somente volta para a aplicação após o
pressionamento da tecla.
Interface ASCII
A lógica de funcionamento desta função é a mesma no pagamento de uma compra feita pelo cliente ou seja,
deve-se chamar a função ContinuaFuncaoSiTefInterativo até que o resultado seja diferente de 10000.
Essa função, dada a diversidade de produtos ofertados pelos Bancos Correspondentes pode, inclusive,
executar uma operação de TEF para concretizar o pagamento de uma conta.
Notar que os campos de retorno 600 a 604 retornam diversas vezes, uma para cada título ou convênio pago,
no caso de pagamento em lote. O campo 607 indica qual o índice (seqüência) de pagamento ao qual se referem
os campos 600 a 604 que virão a seguir.
Como já descrito anteriormente, para o Correspondente Bancário os comprovantes devolvidos nos campos
tipo 121 e 122 devem ser impressos no momento que forem disponibilizados para a automação e a continuação
do processo iterativo deve seguir normalmente caso não ocorra erro na impressão ou interrompida com -1 caso
contrário.
No ParamAdic pode ser passado: {PortaPinPadCB=<porta>}, em que <porta> indica a porta em que está
conectado o pinpad especifico para transações de Correspondente Bancário: consulta saldo, saque e recarga
celular Bradesco.
Para atender a necessidade de algumas redes “Autorizadoras”, que necessitam de informações sobre o
Documento Fiscal Eletrônico emitido pelas “Automações Comerciais”, foram definidos 02 “funcionalidades” para
passar os dados necessários no parâmetro “ParamAdic” (ver detalhes no item 5.7).
Interface ASCII
Interface Interface
Parâmetro Tipo Descrição
padrão ASCII
Resultado Saída, Não Fixo 6 Contém o resultado de resposta à chamada da rotina.
por valor usado
Dados Entrada, char * Variável Mensagem a ser apresentada no visor do PinPad.
por valor
Tipo Saída, por short * Fixo 6 Informa o tipo do documento coletado segundo a seguinte
referência codificação:
-1 → Ainda não foi possível definir o tipo
0 → Arrecadação
1 → Título
Recomendação:
É recomendável que aplicação do terminal, uma vez identificado que o documento será digitado, abra campos
de coleta simulares aos presentes nos documentos a serem pagos. Para isso ela precisará identificar se é uma
Ficha de Compensação/Titulo/Bloqueto ou Ficha de Arrecadação/Tributos. Essa identificação pode ser feita
mediante uma pergunta ao operador ou através da rotina aqui descrita.
Se o usuário optar pelo reconhecimento automático ele deve abrir um campo como se fosse de Arrecadação e,
a cada digito fornecido pelo operador, passar os dígitos já fornecidos para a rotina. Esse procedimento deve ser
feito até o momento que a rotina devolver se o documento em questão é um Título ou Arrecadação. Nesse
momento a aplicação não precisa mais chamar a rotina a cada dígito fornecido e deve, se necessário, modificar a
formatação dos campos para captura.
Além da identificação do tipo do documento a rotina faz a consistência dos dígitos verificadores, retornando
para aplicação se existe um erro e onde ele está localizado. A aplicação pode chamar a rotina passando os campos
à medida que eles forem sendo coletados ou no final da coleta, onde será feita uma análise global do conteúdo
digitado. Se a chamada for durante a digitação, os pontos corretos são:
No retorno a rotina devolve 0 se tudo estiver correto até o momento, -1 se for um código em barras não
reconhecido ou um número de 1 a 4 indicando qual o campo está incorreto ou ainda o valor 5 para indicar que o
número como um todo não está correto.
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 62 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Exemplificamos a seguir como a aplicação do terminal deveria proceder, na forma mais genérica possível hoje
em dia, para coletar um documento. No exemplo utilizaremos um título e deixaremos a automação ser
informada que é esse tipo de documento. O documento que será utilizado é o seguinte:
23790.09505.91211.369656.04025.039209.1.17690000005625
2
Após a digitação do primeiro número chama a rotina passando “2” como parâmetro. No retorno a rotina
devolveu o resultado 0 e Tipo = 0 (fictício pois nesse momento, para a configuração atual de códigos em barra, ela
já teria feito a identificação)
23
Após a digitação do primeiro número chama a rotina passando “23” como parâmetro. No retorno a rotina
devolveu o resultado 0 e Tipo = 1
23790 09505
A automação reapresenta os campos já sabendo que é um título. Somente após a digitação do primeiro grupo
de números ela chama a rotina passando “2379009505” como parâmetro. No retorno a rotina continua a
devolver Tipo = 1. Já o resultado poderá ser 0, indicando que o bloco está correto ou 1 indicando que ele está
errado.
Finalizando, a automação também pode para efeito de consistência do código em barras optar por conferi-los
apenas no final da digitação de todos os campos. Nesse caso, a rotina devolverá 1, 2, 3 ou 4 nessa ordem de
prioridade caso encontre um ou mais blocos com erro e 5 na situação dos blocos internos estarem certos mas o
número como um todo possui algum erro.
Interface ASCII
Interface Interface
Parâmetro Tipo Descrição
padrão ASCII
Resultado Saída, Não Fixo 6 Contém o resultado de resposta à chamada da rotina.
por valor usado
VersaoCliSiT Saída, char * Máx. 64 No retorno contém a versão da CliSiTef
ef por valor
VersaoCliSiT Saída, char * Máx. 64 No retorno contém, caso exista, a versão da CliSiTefI
efI por valor
No retorno a rotina devolve 0 quando foi executada com sucesso e diferente no caso de erro.
Porém, pode levar algum tempo até que a próxima transação seja iniciada na estação.
Nos momentos em que o PDV está no estado repouso ou “idle”, a automação pode utilizar a seguinte rotina
para forçar a biblioteca a descarregar mensagens de confirmação, não confirmação e desfazimento para o
servidor SiTef.
No retorno a rotina devolve 0 se conseguiu descarregar todas as mensagens e diferente de zero caso ocorra
algum erro impossibilitando o envio das mesmas.
Interface
Parâmetro Tipo Descrição
padrão
InfoPinPad Saída, char * No retorno contém as informações do PinPad
por valor
Exemplo:
01006GERTEC02010PPC900;3MB030190077_0071_0080_0106040041.0605013001.23
100820060160450805232030714
Observação: o Buffer que receberá as informações do PinPad deve possuir tamanho mínimo de 256
caracteres, já prevendo a possibilidade de serem incluídas novas informações de pinpad.
Já na segunda forma, a automação deve passar o código de função 775 para a IniciaFuncaoSiTefInterativo, e
prosseguir no fluxo de coleta como se fosse uma transação.
Durante o fluxo de coleta, os seguintes campos serão retornados para a automação, normalmente pelo
comando 0 (zero).
TipoCampo Descrição
2450 Nome do fabricante
2451 Modelo / versão do hardware
2452 Versão do software básico/firmware
2453 Versão da especificação
2454 Versão da aplicação básica
2455 Número de série do PinPad
Normalmente a CliSiTef faz esta operação automaticamente, sob demanda, ao perceber que é necessária uma
nova carga de parâmetros. Existem vários motivos para isso, por exemplo a troca de pinpad no PDV, ou então
uma alteração de parâmetros do estabelecimento no lado do autorizador.
A automação pode comandar uma nova carga de tabelas no pinpad. Por exemplo, para reduzir a chance de
uma carga na primeira venda do dia, a automação pode iniciar uma carga quando estiver em estado de repouso
(idle) e, desta forma, diminuir o tempo no primeiro atendimento.
Note que, se houver uma alteração de parâmetros por parte do autorizador, esta mudança refletirá uma nova
carga de tabelas durante o dia.
Para que a automação comande a carga de tabelas no pinpad, são oferecidos três códigos de função que
devem ser usadas na IniciaFuncaoSiTefInterativo.
A função 770 realiza a carga de tabelas no pinpad caso seja necessário. Isto é, se os dados do servidor SiTef já
estiverem carregados no pinpad, nenhuma carga será feita.
A função 771 força a carga de tabelas no pinpad de acordo com as tabelas baixadas previamente do servidor
SiTef e que estão armazenadas localmente no PDV.
Já a função 772 faz com que a clisitef apague os dados locais do PDV, baixando do SiTef uma nova fotografia
destes parâmetros, e a seguir faz a carga de tabelas no pinpad.
Para que a automação se beneficie da carga de tabelas sem ter que programar as chamadas da
IniciaFuncaoSiTefInterativo com os três códigos de função 770, 771 e 772, foram incluídas no menu
Administrativo da CliSiTef, três transações equivalentes.
No exemplo acima,
Para habilitar a transação de Carga de tabelas no pinpad, é necessário incluir na seção [Geral] a chave
TransacoesAdicionaisHabilitadas o valor 3624.
Para habilitar a transação de Carga forcada de tabelas no pinpad (Local), é necessário incluir na seção [Geral] a
chave TransacoesAdicionaisHabilitadas o valor 3625.
A transação de Carga forcada de tabelas no pinpad (SiTef) está habilitada de forma padrão, com o valor 3626.
[Geral]
TransacoesAdicionaisHabilitadas=3624;3625
Este arquivo se chama CliSiTef.ini, e deve ser colocado na mesma pasta da biblioteca CliSiTef.
Em equipamentos POS e plataformas mobile (Android e IOS), o arquivo de configuração utilizado é CLSIT. Ao
longo deste documento, todas as menções para CliSiTef.ini devem ser entendidas como CLSIT quando se tratar
destes ambientes.
[PinPadCompartilhado]
Porta=<PORT>
No Linux, deve-se indicar o caminho completo do device. Por exemplo: /dev/ttyS1 ou /dev/ttyACM0
A partir da CliSiTef versão 4.0.111.3 para Windows e 4.0.111.18 para Linux, é possível usar o valor ‘AUTO_USB’
para identificar automaticamente a porta de um pinpad USB.
[PinPadCompartilhado]
Porta=AUTO_USB
Nota: a configuração acima é válida somente para a plataforma Windows 32 e Linux 32 (a partir do kernel 2.6),
nas versões mencionadas acima.
Nota: Pinpads de novos fabricantes ou novos modelos poderão ser incluídos nas listas acima, futuramente.
A CliSiTef, por padrão, assume que a automação possui um PinPad, e tenta até 3 vezes abrir a porta.
Nos casos em que a automação não possui/utiliza um PinPad (p/ex. somente transações digitadas), deve-se
configurar o item Porta, na seção PinPadCompartilhado, com o valor NENHUM.
[PinPadCompartilhado]
Porta=NENHUM
Se a Automação precisar atender às transações de TEF no mesmo check-out que atende as transações de
Pagamento de Contas, é possível configurar um segundo pinpad especifico do Banco, de forma que, o pinpad
principal será usado exclusivamente nas transações de TEF.
[PinPad]
MensagemPadrao=<MENSAGEM>
Esta configuração habilita a confirmação do valor da transação no pinpad no caso de transações sem coleta de
senha pelo pinpad, visto que na coleta de senha já é apresentado o valor. Até o momento ela só é válida para
transações de recarga pré-pago e bônus.
Para habilitar esta configuração basta adicionar as seguintes configurações ao arquivo “CliSiTef.ini”:
[Geral]
ConfirmarValorPinPad=1
No arquivo de configuração é possível adicionar endereços alternativos para o servidor SiTef. Estes endereços
são complementares ao informado na função de configuração. São permitidos no máximo dois endereços
adicionais.
[SiTef]
EnderecoIP=IP1;IP2
Por exemplo:
EnderecoIP=127.0.0.1:4096;192.168.0.1:5096
Em raras situações, pode ser necessário alterar a porta de comunicação com o servidor SiTef. Por exemplo,
alguma restrição de segurança na rede do cliente.
A porta padrão do servidor SiTef é 4096. Para especificar uma nova porta, deve-se incluir na seção SiTef o
campo PortaSiTef.
Por padrão, as transações na CliSiTef tentam avançar ao máximo, mesmo sem a conexão com o SiTef.
Para retirar este comportamento, e exigir a obrigatoriedade de conexão, inclua na seção SiTef o parâmetro
ConexaoObrigatoria com valor um (1). Neste caso, não havendo conexão com o SiTef a transação será encerrada
com erro -5.
[SiTef]
ConexaoObrigatoria=1
Por padrão, a característica da CliSiTef ao fazer uma transação com o servidor SiTef é: realizar a conexão,
efetuar a troca de mensagens e desconectar ao final da transação.
Caso haja necessidade de manter a conexão com o SiTef sempre ativa, deve-se incluir na seção SiTef o
parâmetro MantemConexaoAtiva com valor 1 (um).
[SiTef]
MantemConexaoAtiva=1
Por padrão, a CliSiTef envia para a automação o comando 3 com uma mensagem do tipo “Aguarde, em
processamento...”.
[Geral]
MostradorComunicacaoHabilitado=0
O tempo padrão de espera para que a CliSiTef consiga se conectar com o servidor SiTef é de 6 segundos. Para
aumentar ou diminuir este tempo de espera, configure na seção SiTef o campo TempoEsperaConexao com o
novo valor, em segundos.
[SiTef]
TempoEsperaConexao=<tempo para timeout, em segundos>
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 72 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Tempo adicional para timeout da transação
Normalmente a CliSiTef recebe parâmetros de timeout com o servidor SiTef. A CliSiTef leva em consideração
estes valores, acrescentando ainda uma margem de segurança sobre eventuais tempos gastos na transmissão.
Para incluir um tempo adicional em segundos, basta incluir o item TempoAdicionalEspera na seção SiTef.
[SiTef]
TempoAdicionalEspera=<tempo adicional para timeout, em segundos>
O tempo padrão de espera (timeout) para que a CliSiTef consiga receber a resposta à uma mensagem de
desfazimento enviada ao servidor SiTef é de 6 segundos. Para alterar este valor, configure na seção SiTef o campo
TempoEsperaDesfazimento o novo valor, em segundos.
[SiTef]
TempoEsperaDesfazimento=<tempo para timeout, em segundos>
O tempo padrão de espera (timeout) para que a CliSiTef consiga receber a resposta à uma mensagem de
confirmação/não-confirmação enviada ao servidor SiTef é de 6 segundos. Para alterar este valor, configure na
seção SiTef o campo TempoEsperaConfirmacao o novo valor, em segundos.
[SiTef]
TempoEsperaConfirmacao=<tempo para timeout, em segundos>
[Geral]
PermiteAlterarValorPagamento=1
Durante o fluxo da transação, a CliSiTef solicitará "Forneca o novo valor do pagamento", através do campo
154.
Uma delas ocorre em tempo de execução da transação, isto é, a automação comercial define as formas de
pagamento que serão aplicadas para a transação corrente.
Caso a automação não defina estes valores, serão usadas as parametrizações padrões, podendo estar
definidas no arquivo de configurações CliSiTef.ini da estação.
Importante: as configurações definidas em tempo de execução não são afetadas por eventuais configurações
locais da estação.
onde cada um dos sub-campos contém um código numérico que identifica o item de menu que não se aplica à
venda em questão. Por exemplo, se durante o processo de venda já foi negociado com o cliente que é uma venda
para pagamento única e exclusivamente com cartão a vista, o valor do parâmetro deve ser:
[10;17;18;19;27;28;34;35;];
Consulte a Tabela de códigos de meios de pagamento, configurações e menus para a lista de códigos nesta
configuração.
Observação: os valores no arquivo de configurações, detalhadas nos próximos itens, não tem efeito quando a
automação comercial utiliza a restrição em tempo de execução descrita neste item.
Neste caso o ambiente de vendas do cliente não comporta determinado tipo de modalidade de pagamento
por não se aplicar ao seu ramo de negócio. Um exemplo disso é um estabelecimento comercial onde todas as
vendas somente podem ser feitas à vista. Para esse tipo de aplicação é possível definir essa configuração no
arquivo de parâmetros da CliSiTef de forma que, caso o lojista opte no futuro a aceitar outras modalidades de
pagamento, basta alterar a configuração da CliSiTef, sem ser necessário alterar o aplicativo de automação. Essa
configuração é feita através do parâmetro TransacoesHabilitadas a ser colocado na seção [Geral] do arquivo
CliSiTef.ini.
[Geral]
TransacoesHabilitadas=<Tipo do meio de pagamento>;<Tipo do meio de pagamento>;...
[Geral]
TransacoesHabilitadas=16;26
Por questões de compatibilidade com versões anteriores da biblioteca e também pelo fato de algumas
funcionalidades da mesma não serem de uso geral, existem algumas formas de pagamento que não estão
habilitadas por padrão, sendo necessário que o cliente informe explicitamente que deseja utilizá-las. Isso é feito
através do arquivo de configuração CliSiTef.ini pelo parâmetro TransacoesAdicionaisHabilitadas a ser incluído na
seção [Geral]. O formato desse parâmetro é o seguinte:
[Geral]
TransacoesAdicionaisHabilitadas=<Tipo do meio de pagamento>;...
Onde cada um dos sub-campos possui a mesma descrição dos itens anteriores.
Consulte a Tabela de códigos de meios de pagamento, configurações e menus para a lista de códigos nesta
configuração.
Os menus que hoje não estão habilitados por padrão são os seguintes:
Correspondente Bancário
Paggo
Débito Digitado
Extrato CB
Consulta Saldo CB
Extrato CB
Empréstimo Pré-Aprovado
Abertura de Conta
Vale Gás
Cartão Combustível
Cartão Presente
Exemplificando, para habilitar o menu de pagamento com cartão Refeição Eletrônico deve-se incluir a seguinte
configuração em CliSiTef.ini:
[Geral]
TransacoesAdicionaisHabilitadas=20
De forma análoga às transações adicionais habilitadas do item anterior, é possível desabilitar algumas
transações sem a necessidade de especificar todo o intervalo de operações como nas restrições.
Para tanto, inclua na seção Geral o campo TransacoesDesabilitadas, indicando as transações que serão
desabilitadas ao longo do fluxo transacional.
[Geral]
TransacoesDesabilitadas=<Tipo do meio de pagamento>;...
Consulte a Tabela de códigos de meios de pagamento, configurações e menus para a lista de códigos nesta
configuração.
Caso o estabelecimento trabalhe com mais de uma rede das descritas a seguir, deve ser incluída uma linha
para cada rede.
[Redes]
HabilitaRedexxxx=1
Note que é possível habilitar tantas redes quanto necessário, desde que elas estejam habilitadas no SiTef de
forma compatível.
Rede
ACSP
Algorix
Avista
BancoIbi
BancoMercantil
BancoPanamericano
BancoProvincial
BOD
BODDebito
BrazilianCard
CdlPoa
CentralCard
CheckCheck
Cisa
Citibank
ClubCard
CompreMax
Condor
ConsorcioVenezuela
ConsultaValePapel
CooperCred
CredMais
CTF
DDTotal
Dotz
Edenred
Ediguay
Eletrozema
EMS
Fidelize
Formosa
FoxWinCards
Givex
Hiperlife
HotCard
ICards
InfoCard
InComm
JGV
7
Consulte documentos de produtos específicos para outros códigos de redes
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 78 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
MAR
Mettacard (antigo Consignum)
Neus
Oboe
Omnion
Orbitall
Parati
Platco
PortalCard
Qualicard
Repom
SigaCred
SisCred
Softway
SpcBrasil
SQCF
Starfiche
Sysdata
Telecheque
Teledata
TopCard
Total
Tricard
UpSight
UseCred
Validata
Wappa
8
Consulte documentos de produtos específicos para outros códigos de restrições
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 79 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Cartão de débito CDC 19
Cartão Refeição Eletrônico (Exceto Visanet, neste caso usar 3014) 20
Voucher Papel 21
Cartão Benefício 22
Cartão SmartVR/Sodexho com leitora SmartNet 23
Cartão de crédito a vista com juros 24
Cartão de crédito (todas as combinações) (Descontinuado, não usar) 25
Cartão de crédito a vista 26
Cartão de crédito parcelado com financiamento do estabelecimento 27
Cartão de crédito parcelado com financiamento da administradora 28
Cartão de crédito digitado 29
Cartão de crédito magnético 30
Pré-autorização 31
Cartão Fininvest 32
Saque com cartão Fininvest 33
Cartão de Crédito Pró-rata a vista 34
Cartão de Crédito Pró-rata parcelada 35
Consulta parcelas no Cartão de Crédito 36
Crédito Cisa 37
Saldo/Extrato Cisa 38
Cartão Crédito Infocard 39
Cancelamento de transação com cartão de crédito ou débito 40
Consulta AVS 41
Débito Digitado 42
Débito Magnético 43
Crédito Parcelado 44
Private Label Pré-Datado 45
Pagamento Dinheiro 46
Pagamento Private Label com Cheque 47
Paggo 48
Garantia Cheque CDL Rio 49
Pagamento de Conta 50
Estorno de pagamento de conta 51
Re-impressão de pagamento de conta 52
Pagamento de Benefício 53
Estorno do Pagamento de Benefício 54
Tratamento de troco no pagamento de contas com dinheiro 55
Reimpressão 56
Reimpressão do Último Comprovante 57
Reimpressão Específica 58
Recarga de celular com Dinheiro 60
Recarga de celular com Cheque 61
Recarga de celular com cartão de débito a vista 62
Recarga de celular com cartão de crédito a vista 63
Indica o Menu para seleção da operadora de recarga 64
Reimpressão do lojista 70
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 80 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Reimpressão do portador do cartão 71
Todas as reimpressões 72
Crédito Centralizado 73
Consulta de Saldo - Corresponde Bancário 74
Saque - Corresponde Bancário 75
Estorno de Saque - Corresponde Bancário 76
Depósito - Corresponde Bancário 77
Estorno de Depósito - Corresponde Bancário 78
Conta Corrente 79
Conta Poupança 80
Conta Benefício 81
Conta Salário 82
Conta Empresa 83
Conta Investimento 84
Conta Funcionário Viajante 85
Consulta de Saldo com Cartão Magnético - Corresponde Bancário 86
Consulta de Saldo com Digitação dos Dados da Conta - CB 87
Saque de Benefício INSS - Corresponde Bancário 88
Saque com Cartão Magnético - Corresponde Bancário 89
Saque com Cheque - Corresponde Bancário 90
Saque com Recibo de Retirada - Corresponde Bancário 91
Estorno de Saque de Benefício INSS - Corresponde Bancário 92
Estorno de Saque com Cheque - Corresponde Bancário 93
Estorno de Saque com Recibo de Retirada - Corresponde Bancário 94
Estorno de Depósito com Dinheiro - Corresponde Bancário 95
Estorno de Depósito com Cheque - Corresponde Bancário 96
Estorno de Depósito com Dinheiro + Cheque – CB 97
Consulta Cheque SPC Brasil 98
Garantia Cheque SPC Brasil 99
Tipo Conta: FAL 3000
Tipo Conta: Pontos 3001
SCCard 3002
Consulta Saldo Débito 3003
Consulta Saldo Crédito 3004
Recarga de Celular Bradesco 3005
Reimpressão Específica Redecard 3006
Reimpressão Específica Visanet 3007
Troco Surpresa (Premiado) 3008
Pagamento em dinheiro 3009
Pagamento CB em cheque 3010
Pagamento com TEF Débito 3011
Pagamento com TEF Crédito 3012
Pagamento em outra forma 3013
Produtos de Vales da Cielo 3014
ValeGás 3015
ValeGás Ultragaz 3016
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 81 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
ValeGás GetNet 3017
Pagamento de Conta Orbitall 3018
Estorno de pagamento de Conta Orbitall 3019
Cartão Combustível 3020
Cartão Combustível Digitado 3021
Cartão Combustível Magnético 3022
Cartão Débito Pré-Pago 3023
Consulta Saldo Cartão Débito Pré-Pago 3024
Cartão Crédito Código em Barras 3025
Cartão Presente 3026
Opção Administrativa Redecard 3027
Cartão Presente Magnético 3028
Cartão Presente Digitado 3029
Cartão Presente Código em Barras 3030
Opção Compra e Saque Redecard 3031
Pagamento de Fatura 3032
Pagamento de Convênio 3033
Saque Banco IBI 3034
Estorno de Saque Banco IBI 3035
Pagamento de Fatura Banco IBI 3036
Estorno de Pagamento de Fatura Banco IBI 3037
Saldo SPTrans 3038
Recarga SPTrans 3039
Garantia Cheque Infocard 3040
Estorno Garantia Cheque Infocard 3041
Garantia Cheque CDL-Poa 3042
Extrato 3043
Extrato Magnético 3044
Extrato Digitado 3045
Recarga Corban SE 3046
Saque Crédito 3047
Estorno de Saque Crédito 3048
Consultas de Cartão de Crédito 3049
Extrato Cartão de Crédito 3050
Saldo Convênio Crédito 3051
Consulta Liberação de Cartão Crédito 3052
Consulta Última Fatura de Cartão Crédito 3053
Altera Senha de Cartão Crédito 3054
Libera Cartão de Crédito 3055
Produtos SPTrans 3056
DARF 3057
GPS 3058
DARF Simples 3059
DARF Preto 3060
Estorno DARF 3061
Estorno GPS 3062
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 82 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Empréstimo Pré-Aprovado 3063
Empréstimo Pré-Aprovado Magnético 3064
Empréstimo Pré-Aprovado Digitado 3065
Abertura de Conta 3066
Conta Individual 3067
Conta Conjunta E / OU 3068
Conta Conjunta E (Solidária) 3069
Pagamento de Conta Infocard 3070
Estorno de Pagamento de Conta Infocard 3071
Pagamento de Conta Banrisul 3072
Pagamento de Conta Central Card 3073
Pagamento de Conta Portal Card 3074
Pagamento de Conta Softway 3075
Pagamento de Conta Parati 3076
Pagamento de Conta Ediguay 3077
Pagamento de Conta CooperCred 3078
Pagamento de Conta Validata 3079
Pagamento de Conta Panamericano 3080
Pagamento de Conta SigaCred 3081
Pagamento de Conta UseCred 3082
Pagamento de Conta SisCred 3083
Pagamento de Conta Fininvest (Menu principal) 3084
Estorno de Pagamento de Conta Banrisul 3085
Estorno de Pagamento de Conta Fininvest 3086
Estorno de Pagamento de Conta Central Card 3087
Estorno de Pagamento de Conta Portal Card 3088
Estorno de Pagamento de Conta Softway 3089
Estorno de Pagamento de Conta Ediguay 3090
Estorno de Pagamento de Conta CooperCred 3091
Estorno de Pagamento de Conta Panamericano 3092
Estorno de Pagamento de Conta SigaCred 3093
Estorno de Pagamento de Conta UseCred 3094
Estorno de Pagamento de Conta SisCred 3095
Repasse CB 3096
Administrativo CB 3097
Administrativo CB Banrisul 3098
Pagamento de Conta Cartão EMS 3099
Estorno de Pagamento de Conta Cartão EMS 3100
Código Resumido EMS 3101
Código de Barras do Carnê 3102
Digitação do Dados do Carnê 3103
Menu de Consultas EMS 3104
Consulta Rápida EMS 3105
Consulta Extrato EMS 3106
Consulta Milhas EMS 3107
Consulta Mini-Extrato EMS 3108
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 83 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Registro de Ocorrência EMS 3109
Registro de Cancelamento de Ocorrência EMS 3110
Inclusão de Cliente EMS 3111
Alteração de Dados Cadastrais Cliente EMS 3112
Consulta Dados Cadastrais Cliente EMS 3113
Transação EMS por Cartão Magnético 3114
Transação EMS por Digitação do Cartão 3115
Transação EMS por Digitação do CPF 3116
Extrato EMS Parcial 3117
Extrato EMS Total 3118
Sexo Masculino 3119
Sexo Feminino 3120
Menus de Vendas EMS 3121
Venda Cartão EMS 3122
Venda EMS Outros Meio de Pagamento 3123
Venda EMS A Vista 3124
Venda EMS Parcelada Sem Juros 3125
Venda EMS Parcelada Com Juros 3126
Venda Normal EMS 3127
Venda Forçada EMS 3128
Compra EMS Vinculada a Lista de Presentes 3129
Compra EMS Outros Vínculos 3130
Venda EMS - Dinheiro 3131
Venda EMS - Cheque a Vista 3132
Venda EMS - Cheque Pré 3133
Venda EMS – Cartão de Débito 3134
Venda EMS – Cartão de Crédito 3135
Venda EMS – Ticket 3136
Venda EMS – Cheque Administrativo 3137
Venda EMS – Traveller Check 3138
Venda EMS – Desconto em Folha 3139
Venda EMS – Vale 3140
Venda EMS - Milhas 3141
Venda EMS - Debito em folha 3142
Venda EMS – Voucher 3143
Venda EMS – Cartão Presente 3144
Venda EMS – Private Label 3145
Venda Rotativo A Vista Fininvest 3160
Venda Rotativo Pré-Datado Fininvest 3161
Venda Parcelado Fininvest 3162
Venda Parcelado Pré-Datado Fininvest 3163
Saque Rotativo Fininvest 3164
Saque Parcelado Fininvest 3165
Consulta Saque Fininvest 3166
Saque Fininvest 3167
Boleto Bancário 3168
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 84 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Contrato 3169
Pagamento de Conta Fininvest 3170
Pagamento de Fatura Fininvest 3171
Documento Provincial 3172
Documento Não Provincial 3173
Com Provimillhas 3174
Sem Provimilhas 3175
Débito Parcelas Iguais 3176
Consulta Cheque Banco Provincial 3177
Consulta Cheque BOD 3178
Garantia Cheque Banco Mercantil 3179
Consulta Cheque Consorcio Venezuela 3180
Fechamento do Lote Atual Banco Mercantil 3181
Fechamento de Lote Especifico Banco Mercantil 3182
Ajuste de Compra 3183
Ajuste de Compra Débito 3184
Ajuste de Compra Crédito 3185
Consulta Totais de Compra Banco Provincial 3186
Consulta Totais A Pagar Banco Provincial 3187
Consulta Estado Lote Banco Provincial 3188
Fechamento de Lote Banco Provincial 3189
Fechamento de Lote BOD 3190
Fechamento de Lote Banco Mercantil 3191
Vale Refeição (Exceto Visanet) 3192
Vale Alimentação (Exceto Visanet) 3193
Venda Milhagem CooperCred 3194
Cancelamento de Venda Milhagem CooperCred 3195
Consulta de Saldo Cisa 3196
Consulta de Extrato Cisa 3197
Consulta de Saldo Softway 3198
Saque Softway 3199
Cancelamento de Saque Softway 3200
Carga de Pré-Pago 3201
Cancelamento de Carga de Pré-Cargo 3202
Executa Teste de Comunicação 3203
Transações de Correspondente Bancário 3204
Transações de Recarga de Celular 3205
Transações SPTrans 3206
SCCard 3207
Provedor Wappa 3208
Abertura de Caixa CB 3209
Fechamento de Caixa CB 3210
Sangria de Caixa CB 3211
Menu cartão Condor 3212
Opção crédito parcelado simples 3213
Pagamento cartão Condor 3214
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 85 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Estorno pagamento cartão Condor 3215
Consulta extrato Condor 3216
Cancelamento Parcele mais 3217
Menu Starfiche 3218
Menu saque CB Banrisul 3219
Pagamento de conta UP SIGHT 3220
Estorno de Pagamento de conta UP SIGHT 3221
Menu opção NTPC 3222
Menu NTPC 3223
Pagamento com saque 3224
Recarga de celular com saque 3225
Troca de Senha Supervisor PinPad 3226
Menu Crédito CDC 3227
Opção conta pessoa jurídica 3228
Pagamento de conta rede MAR 3229
Estorno pagamento de conta rede MAR 3230
Pagamento de conta rede iCards 3231
Estorno de pagamento de conta rede iCards 3232
Menu opção crédito a vista Resgate Pontos 3261
Menu pagamento de conta Oboé 3262
Menu acúmulo de pontos Oboé 3263
Menu cancelamento acúmulo de pontos Oboé 3264
Menu venda crédito com autorização à vista 3267
Menu opção cartão magnético (PBM) 3270
Menu opção cartão digitado (PBM) 3271
Menu opção código de autorização (PBM) 3272
Menu pagamento de conta Qualicard 3276
Menu estorno de pagamento de conta Qualicard 3277
Menu de autorização genérica SEM 3278
Menu pagamento de conta rede Avista 3279
Menu cartão virtual Formosa 3280
Menu pagamento de contas Neus 3281
Menu estorno de pagamento de contas Neus 3282
Menu pagamento de contas Algorix 3283
Menu estorno de pagamento de contas Algorix 3284
Menu carga de cartão presente Algorix 3285
Menu de cancelamento de carga de cartão presente Algorix 3286
Menu venda crédito CompreMax 3287
Menu cancelamento CompreMax 3288
Menu cancelamento Cartão Combustível 3289
Menu pagamento de contas SysData 3296
Menu estorno de pagamento de contas SysData 3297
Menu consulta de pagamento Validata 3298
Menu pagamento recarga SPTrans (Menu gerencial) 3299
Menu pagamento de conta SQCF 3303
Menu cancelamento de pagamento de conta SQCF 3304
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 86 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Menu cartão Qualidade (ICI Card) 3305
Menu opção Saque Crédito Transferência 3306
Menu opção Cancelamento Saque Crédito Transferência 3307
Menu saque GetNet 3319
Menu estorno de saque GetNet 3320
Resgate Plataforma Promocional (Cielo) 3323
Menu conta especial 3324
Menu conta fidelidade 3325
Menu outra conta 3326
Menu fechamento de lote Platco 3327
Menu registro de gorjeta 3328
Menu consulta última venda 3329
Menu garantia de cheque Platco 3330
Menu devolução Platco 3331
Menu pagamento recarga SPTrans (Menu específico) 3334
Menu Pagamento Conta FoxWin Cards 3335
Menu estorno de Pagamento Conta FoxWin Cards 3336
Menu Pagamento Conta HotCard 3337
Menu estorno de Pagamento Conta HotCard 3338
Menu Adm Gift 3339
Consulta Saldo de Cartão Gift 3340
Recarga de Cartão Gift 3341
Cancelamento de Recarga de Cartão Gift 3342
Venda com Cartão Gift 3343
Cancelamento de Venda com Cartão Gift 3344
Menu Cancelamento Gift 3345
Tipo de conta FAL 3346
Tipo de conta principal 3347
Menu Emissão de Pontos 3348
Menu Cancelamento de Emissão de Pontos 3349
Menu Resgate de Pontos 3350
Menu Cancelamento de Resgate de Pontos (não usado ainda) 3351
Menu Opcão Cartão Pré Pago Digitado 3352
Menu Pagamento TriCard 3353
Menu Extrato Por Período (CB) 3363
Menu Extrato – Últimos Lançamentos (CB) 3364
Menu Extrato – Últimos Dias (CB) 3365
Menu Desbloqueio de Cheques (CB) 3366
Menu Opção de Pagamento c/ cartão de Débito CB 3367
Menu de Transferência de Contas – CB 3368
Menu Revalidação de Senha INSS – CB 3369
Menu Depósito Identificado – CB 3370
Menu Nome do Depositante (Depósito Identificado CB) 3371
Menu Código do Depositante (Depósito Identificado CB) 3372
Menu Cartão de Pagamento (Depósito Identificado CB) 3373
Menu Pagamento de Fatura (Depósito Identificado CB) 3374
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 87 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Menu opção de Pagamento c/ cartão Digitado (CB) 3375
Menu opção de Pagamento c/ cartão Magnético (CB) 3376
Menu opção Pagamento de Fatura Digitado (CB) 3377
Menu opção Pagamento de Fatura Magnético (CB) 3378
Menu Pagamento de Fatura genérico 3379
Menu opção Pré Autorização Cartão Combustível 3389
Menu Ativação Gift 3390
Menu Pagamento Dinheiro – Ativação Gift 3391
Menu Pagamento Cheque – Ativação Gift 3392
Menu Pagamento Cartão Débito – Ativação Gift 3393
Menu Pagamento Cartão Crédito – Ativação Gift 3394
Menu Pagamento ClubCard 3407
Menu Estorno Pagamento ClubCard 3408
Menu Pagamento Citibank 3409
Menu opção Cartão Porto Seguro Auto Magnético 3410
Menu opção Cartão Porto Seguro Auto Digitado 3411
Menu Saque ClubCard 3412
Menu Pagamento CredMais 3466
Menu Consulta parcelas crédito 3480
Menu Estorno Pagto. Contas Banco Ibi 3500
Menu Cartao Eletrozema 3510
Menu Cancelamento Cartao Eletrozema 3511
Menu Consulta Eletrozema 3512
Menu Cancelamento de Pagamento de Fatura genérico 3515
Cartão EGift (Hug) 3517
Menu Alteração de Pré-Autorização 3519
Menu formas de pagamento para pagamento de cartão Siscred 3530
Saque Gift 3553
Cancelamento de saque Gift 3554
Cancelamento de ativação Gift 3556
Carga de tabelas no pinpad 3624
Carga forcada de tabelas no pinpad (Local) 3625
Carga forçada de tabelas no pinpad (SiTef) 3626
Consulta Saldo – Alelo (Cielo) 3653
Atualiza Chip -Alelo (Cielo) 3654
Debito Alelo Auto (Cielo) 3655
Reimpressão Especifica Outros 3675
Menu Administrativo WayUp 3700
Acúmulo de Pontos WayUp 3701
Resgate de Pontos WayUp 3702
Consulta Saque WayUp 3703
Prospecção de Portador WayUp 3704
Menu de Cancelamentos WayUp 3705
Cancelamento de Acúmulo WayUp 3706
Cancelamento de Resgate WayUp 3707
Menu Código de Barras (Tipo de documento – Débito\Crédito para pagamento de carnê) 3720
SiTef - Interface Simplificada com a aplicação(VRS-210).docx (versão 210)
Copyright Software Express 88 de 117
Este documento contém informações CONFIDENCIAIS e PROPRIETÁRIAS da Software Express e não pode ser publicado ou distribuído sem a sua permissão,
por escrito. Cópias e transmissões são permitidas somente para uso interno.
Menu CPF (Tipo de documento – Débito\Crédito para pagamento de carnê) 3721
Menu Número do Cartão (Tipo de documento – Débito\Crédito para pagamento de carnê) 3722
Menu Outros (Tipo de documento – Débito\Crédito para pagamento de carnê) 3723
Menu Adesão de Seguro Tricard 3742
Menu Recarga de cartão de crédito 3744
Menu Cancelamento de recarga de cartão de crédito 3745
Menu Consulta Saldo Tricard 3746
Pagamento em Dinheiro Ultragáz Revenda 3900
Pagamento com TEF Crédito Ultragáz Revenda 3901
Pagamento com TEF Débito Ultragáz Revenda 3902
Menu IATA à Vista 3958
Menu IATA Parcelado Estabelecimento 3959
Menu IATA Parcelado Administradora 3960
Para tanto, basta acrescentar um novo campo ao parâmetro “ParamAdic”, presente nas funções que iniciam o
processo de pagamento ou Correspondente Bancário (IniciaFuncaoSiTefInterativo e
CorrespondenteBancarioSiTefInterativo). O formato deste campo é o seguinte:
{<Funcionalidade1>;<Funcionalidade2>;...;<Funcionalidaden>;};
Note que neste formato as funcionalidades estão entre chaves (‘{’ e ‘}’), ao passo que as restrições estão entre
colchetes (‘[’ e ‘]’).
Exemplo: no processo de venda exemplificado no item 5.1, suponha que o valor da venda possa ser alterado
durante o fluxo, e que o aplicativo da automação deseje fazer seu tratamento, então o valor do parâmetro
“ParamAdic” deve ser:
[10;17;18;19;27;28;34;35;];{TrataPagamentoExtendido=1;}
Funcionalidade Descrição
CodigoCliente=xxxxxx Código de cliente de uma determinada loja, limitado a 36 caracteres, a ser
vinculado nos relatórios do SiTef Web.
ExecutaAteLeituraCartao=0 Se um arquivo de chaves .CHA estiver presente no servidor Sitef, então, a
CliSiTef se comporta da seguinte maneira: Se a CliSiTef estiver sem
comunicação com o Sitef, ao invés de retornar um erro de comunicação, a
CliSiTef continua o fluxo da transação até a leitura do cartão. Para inibir este
comportamento, utilizar a funcionalidade ao lado.
HabilitaVendaViaCodigoBarras Este parâmetro informa a CliSiTef que a opção de venda crédito através de
=1 cartões gravados em código em barras deve ser habilitada na transação
corrente. Lembrando que além dessa configuração a opção de menu (3025)
também deve estar habilitada.
ItemMenuIdentificado=1 O aplicativo de automação informa a CliSiTef que ele está preparado para tratar
o comando de menu com itens identificados (comando 42).
Quando esse parâmetro está habilitado a CliSiTef substitui a utilização do
comando 21 pelo comando 42, na maior parte dos menus utilizados na
navegação.
{MKRede=A,B,C,D} Configuração válida somente para CliSiTef Reduzida Redecard. Os parâmetros
A,B,C,D são índices das chaves de criptografia Redecard nos POS’s. Esses
OBS: Esta configuração deve parâmetros irão sobrepor os índices das chaves recebidos no serviço 3. Os
ser passada entre chaves ({}) parâmetros C e D serão implementados somente a partir da versão (4.0.104.1, a
separadamente, ou seja, não confirmar). Se alguma chave não for configurada é preciso passar o parâmetro
deve ser concatenada com com valor -1. Exemplo: {MKRede=-1,-1,-1,2} vai configurar somente a chave
nenhuma outra configuração relativa à criptografia DUKPT 3DES.
separada por ponto-e-vírgula A = Índice da master key DES
(;) B = Índice da master key 3DES
Exemplos:
{TipoDocFiscal=0}
{TipoDocFiscal=1;ChaveAcessoDocFiscal=1111111111222222222233333333334
444}
{TipoDocFiscal=2;ChaveAcessoDocFiscal=5555555555666666666677777777778
888}
Indicando a configuração “RedeDestino” no parâmetro “ParamAdic”, presente nas funções que iniciam o
processo de pagamento (IniciaFuncaoSiTefInterativo) ou Correspondente Bancário
(CorrespondenteBancarioSiTefInterativo), conforme exemplo a seguir:
{RedeDestino=nnnn}
Onde nnnn é o código da rede a qual pertence o cartão especial (vide tabela abaixo).
Indicando esta rede especial, a qual pertence o cartão especial, no arquivo de configuração da CliSiTef
(“CliSiTef.ini”).
Para tanto, indique nas seções Debito, Credito, CartaoCombustivel ou Gift os pares (Texto, Rede)
correspondentes ao texto que será exibido e o código de rede.
[Debito]
Texto1=SomarCard
Rede1=172
Texto2= StarFiche
Rede2=178
TextoN=MinhaRede
RedeN=nnnn
[Credito]
Texto1=SomarCard
Rede1=172
Texto2= StarFiche
Rede2=178
[CartaoCombustivel]
Texto1=FitCard
Rede1=263
[CartaoGift]
Texto1=Condor
Rede1=174
TextoN=MinhaRede
RedeN=nnnn
Através do arquivo de configuração é permitido definir até 5 redes de débito, 5 redes de crédito crédito, 5
redes de combustível e 5 redes de gift. Feito isso, quando a automação realizar uma transação com uma das
modalidades descritas acima, a CliSiTef apresentará um menu com todas as redes definidas e com a opção de
débito, crédito, combustível ou gift , em que é realizada a consulta de bins.
Além disso, é possível definir se a rede em questão permite a captura de cartão através do leitor magnético ou
através de digitação. Os parâmetros que determinam essas características são HabilitaMagneticon,
HabilitaDigitadon, HabilitaCodBarn, HabilitaCodUnitarioGiftn, e HabilitaEgiftDigitadoGiftn sendo n o índice da rede.
Para as transações Gift efetuar as seguintes configurações para habilitar os seguintes modos de entrada:
- HabilitaEgiftDigitadoGiftn: Essa coleta é utilizada quando o autorizador emitir um número virtual que pode
ser um número enviado por email. Esse número será utilizado com o cartão, será solicitado a entrada do número
do Egift.
Exemplo:
[Debito]
Texto1=SomarCard
Rede1=172
Texto2=StarFiche
Rede2=178
Texto3=Libercard
Rede3=196
HabilitaDigitado3=1
HabilitaMagnetico3=0
Texto4=VeroPay
Rede4=21
HabilitaDigitado4=1
HabilitaMagnetico4=0
[Credito]
Texto1=SomarCard
Texto2= StarFiche
Rede2=178
Texto3=Libercard
Rede3=196
HabilitaDigitado3=1
HabilitaMagnetico3=0
[CartaoCombustivel]
Texto1=FitCard
Rede1=263
HabilitaDigitado1=0
HabilitaMagnetico1=1
HabilitaCodBar1=0
[CartaoGift]
Texto1=Condor
Rede1=174
HabilitaDigitado1=0
HabilitaMagnetico1=1
HabilitaCodBar1=0
HabilitaCodUnitarioGift1=0
HabilitaEgiftDigitadoGift1=0
Também é possível definir as transações adicionais que serão capturadas pela rede em questão. O parâmetro
que determina essa característica é o TransacoesAdicionaisn, sendo n o índice da rede. Os valores indicados são
as funções do item 3.2.2 - Tabela de códigos de funções, separados por ponto-e-vírgula.
No momento, somente a transação 602 (Consulta Saldo Cartão de Crédito) foi implementada.
Exemplo:
[Credito]
Rede1=205
Texto1=GoldenFarma
TransacoesAdicionais1=602;
A seguir, listamos o código das redes que possuem cartões nesta situação.
No entanto, existe um parâmetro que, em conjunto com a habilitação no SiTef dessas transações, pode
habilitar essa forma de pagamento na biblioteca. O parâmetro é o seguinte:
[Geral]
ModalidadesPermitePagVinculadoCredParcAdm=XXX;
ModalidadesPermitePagVinculadoCredParcLoja=XXX;
Onde XXX é o código da função/modalidade que irá executar a transação. Então, se o desejado for habilitar o
parcelamento na transação de ativação Gift, por exemplo, o código a ser usado seria o 265.
IMPORTANTE: Como o parcelamento de transações geralmente tem taxas é importante estudar se para essas
transações é vantagem ou não permitir o parcelamento.
[SalvaEstado]
DiretorioBase=<DIRETORIO>
Exemplo Windows:
[SalvaEstado]
DiretorioBase=C:\Chaves
Exemplo Linux:
[SalvaEstado]
DiretorioBase =/home/usuario/chaves
Observação: é importante que seja indicada uma pasta local, e não um mapeamento de rede.
Importante: a pasta tmp foi escolhida inicialmente no Linux pelo fato de, geralmente, não haver problemas de
permissão no uso da pasta. Entretanto, um reboot na máquina Linux pode fazer com que os arquivos sejam
apagados.
Desta forma, é recomendável que a automação configure para que a CliSiTef acesse uma pasta com a
permissão de leitura e escrita. Isto é, no usuário de sistema que rodará a automação.
[GERAL]
NumeroDeDiasNoLog=n
Observação: esta configuração não é aplicada caso o modo Trace Rotativo esteja habilitado.
A CliSiTef permite configurar os diretórios onde serão gerados os seus arquivos de trace. Para tanto, altere o
arquivo CliSiTef.ini conforme mostrado abaixo:
[CliSiTef]
DiretorioTrace=<DIRETORIO>
Exemplo Windows:
[CliSiTef]
DiretorioTrace=C:\Trace
Exemplo Linux:
[CliSiTef]
DiretorioTrace=/home/usuario/trace
Além da geração de traces por terminal, também é possível alterar a geração do arquivos de trace do modo
diário para o modo por hora, em que são gerados diversos arquivos de trace fragmentados por hora.
Ao habilitar o modo multi-terminal da CliSiTef, a geração de traces é automaticamente alterada para o modo
por terminal. Para maiores informações sobre o modo multi-terminal, consulte o documento específico “CliSiTef -
Configuração Multi-terminal.doc”.
Caso não esteja configurada no modo multi-terminal e ainda assim queira habilitar a geração de traces por
terminal, basta adicionar o item TracePorTerminal na seção CliSiTef do arquivo “CliSiTef.ini”.
[CliSiTef]
TracePorTerminal=1
Para habilitar a geração de traces por hora deve ser adicionada a seguinte configuração ao arquivo
“CliSitef.ini”:
[CliSiTef]
TracePorHora=1
Entenda-se transação, ao conjunto de trocas de mensagens sob o mesmo cupom fiscal. Ou seja, cupom fiscal e
data fiscal, passados como parâmetro na função IniciaFuncaoSiTefInterativo (hora fiscal não é considerada).
Por exemplo: uma transação de recarga de celular seguida de um TEF, no mesmo cupom fiscal, ficam
armazenados no mesmo arquivo de trace.
Esta opção permite também o envio destes arquivos para o servidor SiTef, desde que este esteja configurado
com o módulo NServices.
Para habilitar a geração de traces rotativos, deve-se indicar a quantidade de arquivos máxima a serem
armazenados na seção CliSiTef, item TraceRotativo.
[CliSiTef]
TraceRotativo=n
[CliSiTef]
TraceRotativo=10
Em situações onde há restrições de espaço em disco (POS, por exemplo), pode-se ainda limitar o tamanho do
arquivo de trace. Neste caso, uma mesma transação pode ficar armazenada em um ou mais arquivos separados.
Para tanto, indique o tamanho (em bytes) do limite do arquivo na seção CliSiTef, item TamanhoTraceRotativo.
[CliSiTef]
TraceRotativo=10
TamanhoTraceRotativo=32768
Observação: esta limitação de tamanho só é aplicada quando a opção TraceRotativo está habilitada.
É possível submeter os arquivos de trace de uma estação PDV ou terminal POS para o servidor SiTef. Esta
situação pode ser especialmente útil para análise de eventuais problemas em produção.
Caso a automação deseje desabilitar esta opção, restrinja o menu 3627. Para maiores informações, consulte
“Restrição ou habilitação das formas de pagamento”.
Também é possível comandar esta transação através da função 121, que deve ser passada na
IniciaFuncaoSiTefInterativo.
Funcao Descrição
121 Envio de arquivos de trace para o servidor SiTef.
Em caso de queda na comunicação, a automação pode executar novamente a função 121 após o
reestabelecimento do canal. Nesta situação, a clisitef confirmará se deseja continuar o envio anterior.
Ao submeter os arquivos de trace para o servidor SiTef, certifique-se que o mesmo tenha o módulo NServices
devidamente configurado.
Para habilitar essa característica, inclua o seguinte parâmetro no arquivo de configuração CliSiTef.ini:
[Geral]
DataEmAmbienteDeDesenvolvimento=AAAAMMDD
Onde AAAAMMDD corresponde ao dia que o teste em laboratório está sendo feito.
Em ambiente de produção essa configuração NÃO DEVE EXISTIR, sendo que a análise de problemas nesse
ambiente deverá ser feita pela Software Express pela ativação de traces internos da CliSiTef, através de
configurações passadas pelo Suporte. Essa opção habilita, automaticamente, a opção a seguir.
[Geral]
EmAmbienteDeHomologacao=1
Por introduzir uma mensagem adicional no processo, ele jamais deverá ser utilizado em ambiente de
produção.
Para habilitar esta característica, basta incluir na seção TabTraducao da CliSiTef.ini o item NomeArqTraducao,
indicando o nome do arquivo de tradução.
[TabTraducao]
NomeArqTraducao=<Nome do arquivo>
As mensagens devem ficar em um arquivo no formato INI separado, sob a seção TabTraducao.
[TabTraducao]
MsgNovoValor=Forneca o novo valor do pagamento
MsgEmbosso=Forneca os 4 digitos finais do cartao
MsgCodigoSeguranca=Informe Cod. Seg, ou\n0 = inexistente\n1 = ilegivel
Como a CliSiTef está em constante inclusão de módulos e mensagens, a lista completa de itens de tradução
encontra-se no documento “SiTef - Interface Simplificada com a aplicação - Tabela de Mensagens”.
13 Rotinas descontinuadas
Rotina Antiga Rotina Nova
LeCartaoInterativo LeCartaoSeguro
LeCartaoInterativoA LeCartaoSeguroA
LeCartaoDireto LeCartaoDiretoSeguro
LeCartaoDiretoA LeCartaoDiretoSeguroA
LeCartaoDiretoEx LeCartaoDiretoSeguro
LeCartaoDiretoExA LeCartaoDiretoSeguroA
FinalizaTransacaoSiTefInterativo FinalizaFuncaoSiTefInterativo¹
IniciaFuncaoAASiTefInterativo IniciaFuncaoSiTefInterativo
IniciaFuncaoAASiTefInterativoA IniciaFuncaoSiTefInterativoA
Observações:
28/12/2005 1.00.a.5 Inclusão do TipoCampo 518 e 519 na tabelas de valores para Tipo Campo.