Especificação Técnica

Especificação Técnica
Bibliotecas CliSiTefI e CliSiTef
Versão 248

Sumário#

1 Introdução [6]

2 Público-Alvo [6]

3 Objetivos [6]

4 Apresentação [7]

4.1 Funcionamento básico [7]

5 API - Rotinas disponíveis na CliSiTef [9]

5.1 Configuração da biblioteca [11]

5.1.1 Configurações especiais gerais [12]

5.1.2 Informações adicionais da Automação/Estabelecimento [13]

5.1.3 Ponto flutuante [15]

5.2 Início da transação de Pagamento ou Gerencial [17]

5.2.1 Tabela de códigos de retorno [20]

5.2.2 Tabela de códigos de funções [21]

5.2.3 Parâmetros Adicionais [25]

5.3 Continuação do processo de coleta iterativo [25]

5.3.1 Tabela de códigos de Comando [29]

5.3.2 Tabela de valores para TipoCampo [32]

5.3.3 Tabela de Eventos, retornados também em TipoCampo [49]

5.4 Confirmação ou não do Pagamento [51]

5.4.1 Finalização de pagamentos individuais em um mesmo cupom fiscal [52]

5.4.2 Finalização de pagamentos de uma determinada rede em um mesmo cupom fiscal [52]

5.4.3 Anexar dados referentes às formas de pagamento de uma transação (NFPAG) [52]

5.5 Consulta de transações pendentes de confirmação no terminal [56]

5.5.1 Quantidade de transações pendentes de confirmação no terminal [56]

5.5.2 Consulta a transações pendentes no terminal [58]

5.5.3 Consulta a transações pendentes em um documento fiscal específico [58]

5.6 Funções de PinPad [59]

5.6.1 Teste da presença de PinPad [59]

5.6.2 Define mensagem permanente para o PinPad [59]

5.6.3 Leitura da trilha 3 do cartão [60]

5.6.4 Leitura do cartão - rotinas de captura segura [61]

5.6.5 Leitura de senha [65]

5.6.6 Leitura de Confirmação pelo Cliente no PinPad [66]

5.6.7 Define uma mensagem momentânea para o PinPad [67]

5.6.8 Leitura de teclas especiais do PinPad [68]

5.7 Correspondente Bancário (Pagamento de Contas) [69]

5.8 Verificação da integridade de um código em barras [70]

5.9 Obtendo Versão [72]

5.10 Enviando mensagens pendentes [73]

5.11 Informações do PinPad [73]

5.12 Carga de Tabelas no PinPad [75]

5.12.1 Com alteração na Automação [75]

5.12.2 Sem alteração na Automação [76]

6 Arquivo de configurações CliSiTef.ini ou CLSIT [77]

6.1 Configuração do PinPad [77]

6.1.1 Configuração da porta [77]

6.1.2 Configuração quando a Automação não utilizar pinpad [78]

6.1.3 Configuração de um segundo pinpad [79]

6.1.4 Definição da mensagem padrão [80]

6.1.5 Habilitando confirmação do valor no pinpad [80]

6.2 Configuração de conexão com o servidor SiTef [80]

6.2.1 Configuração de endereços IP adicionais [80]

6.2.2 Configuração da porta do servidor SiTef [80]

6.2.3 Obrigatoriedade de conexão [81]

6.2.4 Mantendo conexão ativa [81]

6.2.5 Configuração do mostrador de comunicação [81]

6.2.6 Alterando parâmetros de temporizações (timeout) [81]

6.3 Como passar um novo valor da compra da transação na CliSiTef [82]

6.4 Habilitando/desabilitando formas de pagamento [84]

6.4.1 Restringindo formas de pagamento em tempo de execução [84]

6.4.2 Definindo valores padrão para formas de pagamento [84]

6.4.3 Habilitação de transações adicionais [85]

6.4.4 Desabilitando transações [86]

6.5 Habilitação de transações de redes específicas [86]

6.6 Tabela de códigos de meios de pagamento, configurações e menus [88]

6.7 Habilitação de configurações especiais por transação [99]

6.8 Transações crédito/débito com cartão sem BIN [102]

6.9 Habilitação de crédito parcelado quando em um pagamento vinculado [105]

7 Arquivos de controle [107]

8 Trace [108]

8.1 Configurando histórico [108]

8.2 Configuração de diretório [108]

8.3 Arquivos de trace por terminal [109]

8.4 Trace Rotativo [110]

8.4.1 Habilitando o trace rotativo [110]

8.4.2 Limitando o tamanho dos arquivos [111]

8.4.3 Enviando arquivos de trace para o servidor SiTef [111]

9 Processo de desenvolvimento/homologação [112]

9.1 Arquivo de trace adicional durante a fase de desenvolvimento [112]

9.2 Processo de homologação [112]

10 Tradução de mensagens [113]

11 Tabelas [114]

11.1 Código das Redes Autorizadoras [114]

11.2 Código da Bandeira [120]

12 Plataformas suportadas [121]

13 Rotinas descontinuadas [121]

14 Histórico de Alterações [122]

Introdução#

As bibliotecas CliSiTefI e CliSiTef oferecem aos desenvolvedores de automações comerciais um conjunto de rotinas (API´s) para integração com o servidor SiTef.

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.

Público-Alvo#

Desenvolvedores de automação comercial com CliSiTef.

Objetivos#

Apresentar a descrição da biblioteca que efetua a interface com os serviços de meio de pagamento disponíveis no SiTef.

Apresentação#

A CliSiTef propicia um meio rápido e simples de disponibilizar as funcionalidades do SiTef para aplicativos em geral. Suas principais características são:

  • 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".

Funcionamento básico#

Passo inicial

Inicialmente a Automação Comercial deve executar o comando ConfiguraIntSiTefInterativo, passando as informações necessárias para que o Terminal de Vendas possa se comunicar com o SiTef, como Endereço IP do SiTef, Código da Empresa (no SiTef Demonstração este código é 00000000) e a identificação do terminal.


http://hgbook.red-bean.com/support/figs/note.png 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.

Transação propriamente dita

O próximo passo é, então, chamar a função IniciaFuncaoSiTefInterativo, passando os parâmetros descritos para ela.

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.

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.

Confirmação (ou não-confirmação) da transação

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.

Exemplificando graficamente o fluxo descrito neste tópico, teríamos o seguinte:

API - Rotinas disponíveis na CliSiTef#

Neste capítulo, apresentaremos as funções disponíveis na clisitef. Para tanto, serão adotadas as seguintes convenções:

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.

Tipo de parâmetros da função -- dividiremos em dois grupos:

1. Quanto ao fluxo de informações: o parâmetro pode ser de entrada ou saída.

2. Quando à passagem: o parâmetro pode ser passado por valor ou por referência.

Cada rotina descrita neste capítulo, normalmente, possui duas versões/interfaces:

Interface padrão -- tradicional, permite parâmetros com dados binários

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:

Tabela 1: Tipos e convenção de parâmetros

TipoDescrição
char *Buffer em texto ASCII terminado por zero binário.
short int (short), unsigned short int (ushort)Variáveis que ocupam 2 bytes em memória, com e sem sinal, respectivamente.
int, unsigned int (uint)Variáveis que ocupam 4 bytes em memória, com e sem sinal, respectivamente.
voidIndica a ausência de parâmetros ou retorno.
<tipo variável> * (exemplo: short int * ou int *)Indica que a variável do "tipo variável" está sendo passada como endereço, ou seja, a CliSiTef irá utilizar a área da aplicação de automação para trabalhar, podendo devolver algum resultado nela.

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.

Exemplos NÃO VÁLIDOS são os seguintes: $12$34$, .1.234,56., 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 está 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.

Configuração da biblioteca#

Esta deve ser a primeira chamada para a biblioteca CliSiTef. Ela tem por objetivo configurar os parâmetros de conexão com o servidor SiTef, e com a própria Automação Comercial.

int ConfiguraIntSiTefInterativo (IPSiTef, IdLoja, IdTerminal, Reservado)
int ConfiguraIntSiTefInterativoEx (IPSiTef, IdLoja, IdTerminal, Reservado, ParametrosAdicionais)

Interface ASCII

ConfiguraIntSiTefInterativoA (Resultado, IPSiTef, IdLoja, IdTerminal, Reservado)
ConfiguraIntSiTefInterativoExA (Resultado, IPSiTef, IdLoja, IdTerminal, Reservado, ParâmetrosAdicionais)

ParâmetroTipoInterface PadrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
IPSiTefEntrada, por valorchar *VariávelConfigura o nome ou endereço IP (em notação ".") do servidor SiTef.
IdLojaEntrada, por valorchar *Fixo 8Identifica o número da loja perante a rede de estabelecimentos comerciais.
IdTerminalEntrada, por valorchar *Fixo 8Identifica o pdv perante a loja. Possui o formato XXnnnnnn 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.
ReservadoEntrada, por valorchar *Fixo 6Deve ser passado com 0
ParametrosAdicionaisEntrada, por valorchar *VariávelParâmetros adicionais de configuração da CliSiTef no seguinte Formato: [<Nome_Parametro_1>=<Valor_Parametro_1>;<Nome_Parametro_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.

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.

As rotinas de configuração retornam um dos seguintes valores:

Tabela 2 - Códigos de retorno das funções de configuração

ValorDescrição
0Não ocorreu erro
1Endereço IP inválido ou não resolvido
2Código da loja inválido
3Código de terminal inválido
6Erro na inicialização do Tcp/Ip
7Falta de memória
8Não encontrou a CliSiTef ou ela está com problemas
9Configuração de servidores SiTef foi excedida.
10Erro de acesso na pasta CliSiTef (possível falta de permissão para escrita)
11Dados inválidos passados pela automação.
12Modo seguro não ativo (possível falta de configuração no servidor SiTef do arquivo .cha).
13Caminho 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.

Configurações especiais gerais#

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:

[<Funcionalidade >;<Funcionalidade >;...]

A seguir, descrevemos as funcionalidades previstas neste campo.

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".

FuncionalidadeDescrição
MultiplosCupons=1Indica 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)

Informações adicionais da Automação/Estabelecimento#

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=> = Prefixo identificador dos dados.

<IdN> = Identificador do campo, conforme definida a tabela abaixo.

<ValorN> = Valor do campo.


Id Formato Significado


1 Numérico CNPJ do estabelecimento/loja.

2 Numérico CNPJ da empresa que desenvolveu a automação comercial.

3 Numérico CPF do estabelecimento/loja

4 Numérico CNPJ Facilitador (Van)


Tabela 3 Códigos de campos disponíveis para ParmsClient.

Exemplo de como enviar dos dados para a CliSiTef:

[ParmsClient=1=31406434895111;2=12523654185985]

Onde:

- 1 (CNPJ do Estabelecimento) com o valor 31406434895111.

- 2 (CNPJ da empresa de automação comercial) com o valor 12523654185985.

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)"

Ponto flutuante#

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".

Procedimento em "operação casada" com a automação

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

ComandoTipoCampo
02470
Exemplos de quantidade de casas decimaisBuffer
Peso do Almoço em gramas com 2 casas2
Total da Bomba de Combustível em reais com 3 casas3

• No exemplo onde a quantidade de casas decimais informada foi 2, logo após, a CliSitef solicitará o comando 30:

• No exemplo onde a quantidade de casas decimais informada foi 3, logo após, a CliSitef solicitará o comando 34:

Início da transação de Pagamento ou Gerencial#

As rotinas a seguir são as recomendadas para iniciar uma transação na CliSiTef.

O que diferencia a transação a ser executada é o código de Função passado por parâmetro. (Vide Tabela 5.2.2)

As diversas transações iniciadas pela automação comercial ficam agrupadas pelos dados fiscais, que é o par (CupomFiscal, DataFiscal) e com esses dados são realizados os controles de transações pendentes de confirmações da CliSiTef.

A HoraFiscal é importante para validações de segurança de alguns fabricantes de pinpad (com o objetivo de evitar ataques e fraudes).

int IniciaFuncaoSiTefInterativo (Funcao, Valor, CupomFiscal, DataFiscal, HoraFiscal, Operador, ParamAdic)

Interface ASCII

IniciaFuncaoSiTefInterativoA (Resultado, Funcao, Valor, CupomFiscal, DataFiscal, HoraFiscal, Operador, ParamAdic)

As funções abaixo eram utilizadas para terminais de Auto-Atendimento, e são consideradas obsoletas.

int IniciaFuncaoAASiTefInterativo (Funcao, Valor, CupomFiscal, DataFiscal, HoraFiscal, Operador, ParamAdic, Produtos)

Interface ASCII

IniciaFuncaoAASiTefInterativoA (Resultado, Funcao, Valor, CupomFiscal, DataFiscal, HoraDiscal, Operador, ParamAdic, Produtos)

ParâmetroTipoInterface padrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
FuncaoEntrada, por valorintFixo 6Seleciona a forma de pagamento, conforme a tabela “Códigos de Funções” a seguir.
ValorEntrada, por valorchar *VariávelContém o valor a ser pago contendo o separador decimal (“,”). Deve sempre ser passado com duas casas decimais após a vírgula (“,”). Caso a operação não tenha um valor definido a priori (p/ex. recarga de pré-pago), esse campo deve vir vazio.
CupomFiscalEntrada, por valorchar *Máx. 20Número do Cupom Fiscal correspondente à venda É importante que o número do cupom fiscal seja sempre crescente (incrementado a cada transação), pois todo processo de controle de transações pendentes e confirmações da CliSiTef se baseiam no conjunto CupomFiscal + DataFiscal.
DataFiscalEntrada, por valorchar *Fixo 8Data Fiscal no formato AAAAMMDD
HoraFiscalEntrada, por valorchar *Fixo 6Horário Fiscal no formato HHMMSS
OperadorEntrada, por valorchar *Máx. 20Identificação do operador de caixa
ParamAdicEntrada, por valorchar *VariávelParâmetros adicionais. Permite que o aplicativo limite o tipo de meio de pagamento. Ele é opcional e pode ser passado vazio. Quando esse campo for utilizado a CliSiTef irá limitar os menus de navegação apenas aos códigos não presentes na lista. Vide item 5 para a descrição do formato interno deste campo
ProdutosEntrada, por valorchar *VariávelContém a lista de produtos que o cliente está adquirindo no terminal de Auto-Atendimento. É obrigatório pois tais produtos farão parte integrante do comprovante da operação de Tef a ser impresso. O formato básico deste campo é: [<Descrição1>;<Código1>;<Quantidade1>;<ValorTotal1>]; [<Descrição2>;<Código2>;<Quantidade2>;<ValorTotal2>];... Ele deve ser repetido tantas vezes quanto o número de produtos distintos adquirido pelo cliente.

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.

Tabela de códigos de retorno#


ValorDescrição
0Sucesso na execução da função.
10000Deve ser chamada a rotina de continuidade do processo.
outro valor positivoNegada pelo autorizador.
-1Módulo não inicializado. O PDV tentou chamar alguma rotina sem antes executar a função configura.
-2Operação cancelada pelo operador.
-3O parâmetro função / modalidade é inexistente/inválido.
-4Falta de memória no PDV.
-5Sem comunicação com o SiTef.
-6Operação cancelada pelo usuário (no pinpad).
-7Reservado
-8A CliSiTef não possui a implementação da função necessária, provavelmente está desatualizada (a CliSiTefI é mais recente).
-9A automação chamou a rotina ContinuaFuncaoSiTefInterativo sem antes iniciar uma função iterativa.
-10Algum parâmetro obrigatório não foi passado pela automação comercial.
-12Erro 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).
-13Documento fiscal não encontrado nos registros da CliSiTef. Retornado em funções de consulta tais como ObtemQuantidadeTransaçõesPendentes.
-15Operação cancelada pela automação comercial.
-20Parâmetro inválido passado para a função.
-21Utilizada uma palavra proibida, por exemplo SENHA, para coletar dados em aberto no pinpad. Por exemplo na função ObtemDadoPinpadDiretoEx.
-25Erro no Correspondente Bancário: Deve realizar sangria.
-30Erro de acesso ao arquivo. Certifique-se que o usuário que roda a aplicação tem direitos de leitura/escrita.
-40Transação negada pelo servidor SiTef.
-41Dados inválidos.
-42Reservado
-43Problema na execução de alguma das rotinas no pinpad.
-50Transação não segura.
-100Erro interno do módulo.
outro valor negativoErros detectados internamente pela rotina.

Tabela de códigos de funções#

Os seguintes códigos estão disponíveis para serem usados no parâmetro Funcao descrita acima1.

FunçãoDescrição
0Pagamento genérico. A CliSiTef permite que o operador escolha a forma de pagamento através de menus.
1Cheque
2Débito
3Crédito
4Fininvest
5Cartão Benefício
6Crédito Centralizado
7Cartão Combustível
8Parcele Mais Redecard
10Benefício Refeição Wappa
11Benefício Alimentação Wappa
12Cartão Infocard
13Pay Pass
15Venda com cartão Gift
16Débito para pagamento de carnê
17Crédito para pagamento de carnê
28Venda com Cartão Qualidade (ICI Card)
100Telemarketing: Inicia a coleta dos dados da transação no ponto necessário para tratar uma transação de cartão de crédito digitado
101Cancelamento de venda com cartão Qualidade (ICI Card)
110Abre o menu de transações Gerenciais
111Teste de comunicação com o SiTef
112Menu Re-impressão
113Re-impressão comprovante específico
114Re-impressão ultimo comprovante
115Pré-autorização
116Captura de pré-autorização
117Ajuste de pré-autorização
118Consulta de pré-autorização
130Consulta de transações pendentes no terminal
131Consulta de transações pendentes em um documento fiscal específico
150Consulta Bônus
151Consulta Saldo Cartão Presente
152Consulta Saldo Cartão Gift
160Consultas Cartão EMS
161Vendas Cartão EMS
200Cancelamento 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
201Cancelamento Telemarketing: Similar a modalidade 200 só que para a função de cancelamento de transação de crédito digitado
202Cancelamento Pré-autorização
203Cancelamento da Captura da Pré-autorização
210Cancelamento de venda com cartão de Crédito
211Cancelamento de venda com cartão de Débito
212Cancelamento de venda com cartão Combustível
213Cancelamento de Venda com Cartão Gift
250Cancelamento de Consulta Bônus
251Cancelamento Recarga Cartão Presente
253Cancelamento Acúmulo de Pontos Cartão Bônus
254Resgate de Pontos Cartão Bônus
255Cancelamento de Resgate de Pontos Cartão Bônus
256Acúmulo de Pontos Cartão Bônus
257Cancelamento Recarga Cartão Gift
264Recarga Cartão Gift
265Ativação Pagamento Vinculado Cartão Gift
266Consulta Cartão Gift
267Ativação Cartão Gift Sem Pagamento
268Ativação Cartão Gift Com Pagamento
269Ativação Desvinculada Cartão Gift
310Corresponde Bancário (Pagamento de Contas)
311Pagamento de Contas com Saque
312Consulta para Pagamento Desvinculado (Genérico)
313Pagamento Desvinculado (Genérico)
314Recarga Pré Pago Corban SE com Saque
315Saque para Pagamento
316Cancelamento do pagamento desvinculado (genérico)
317Consulta Limites do Correspondente Bancário
318Recarga Pré Pago Bradesco
319Recarga Pré Pago Bradesco desvinculada do pagamento
320Recarga Pré Pago Corban SE
321Recarga Pré Pago Corban SE desvinculada do pagamento
322Depósito Identificado
323Transferência entre Contas
324Pague Fácil
325Revalidação de Senha INSS
350Venda Produto (Sem Valor)
351Cancelamento de Venda Produto (Sem Valor)
400Vale-Gás
401Validação Vale-Gás
410Troco Surpresa
422Adesão de Seguro
430Le Cartão Seguro (LeCartaoSeguro)
431Le Trilha Chip (LeTrilhaChipInterativoEx)
500Consulta Detalhada ACSP
501Consulta Detalhada Serasa
600Consulta Saldo
601Consulta Saldo Cartão de Débito
602Consulta Saldo Cartão de Crédito
657Saque Crédito Transferência
658Saque Crédito
660Menu Saque IBI
661Consulta Saque Banco IBI
662Saque Banco IBI
663Saque GetNet
664Cancelamento Saque GetNet
665Resgate de Pontos
667Emissão de Pontos
668Cancelamento da Emissão de Pontos
669Carga de Pré Pago
670Cancelamento de Carga de Pré Pago
671Consulta Saque com Saque Banco IBI
672Cancelamento Saque Banco IBI
680Consulta Saldo Pré Pago
698Saque Débito
700Venda Oi Paggo
701Cancelamento Oi Paggo
702Pagamento de contas
703Cancelamento de Pagamento Cartão Benefício
705Pagamento de Fatura
740Consulta Parcelas Crédito Adm
770Carga de tabelas no pinpad 2
771Carga forçada de tabelas no pinpad (Local)
772Carga forçada de tabelas no pinpad (SiTef)
775Obtenção de informações do pinpad 3
899Recarga de cartão de crédito
900Cancelamento de recarga de cartão de crédito
913Alteração de Pré-Autorização
928Cancelamento Débito para Pagamento Carnê Rede Forçada
943Pagamento Fatura sem fatura vinculado
944Pagamento Fatura sem fatura desvinculado
999Fechamento
1000Voucher Papel

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).

Continuação do processo de coleta iterativo#

Esta função deve ser chamada de forma contínua até não existam mais informações para serem trocadas entre a aplicação e a CliSiTef (isto é, enquanto seu retorno for igual a 10000), conforme descrito nos resultados devolvidos por ela. O formato de ativação é o seguinte:

int ContinuaFuncaoSiTefInterativo (Comando, TipoCampo, TamMinimo, TamMaximo, Buffer, TamBuffer, Continua)

Interface ASCII

ContinuaFuncaoSiTefInterativoA (Resultado, Comando, TipoCampo, TamMinimo, TamMaximo, Buffer, TamBuffer, Continua)

ParâmetroTipoInterface padrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
ComandoSaída, por referênciaint *Fixo 12Contém no retorno: 0 → caso a CliSiTef esteja devolvendo algum dado referente a transação no campo Buffer <> 0 → indica o Próximo Comando a ser executado pelo aplicativo. Os comando válidos estão descritos em Tabela de códigos de Comando
TipoCampoSaída, por referêncialong *Fixo 12Contém o código do tipo de campo que a automação deve tratar. Os tipos existentes estão descritos em Tabela de valores para TipoCampo
TamMinimoSaída, por referênciashort *Fixo 6Quando o Comando for uma coleta de dados, contém o tamanho Mínimo do campo a ser lido
TamMaximoSaída, por referênciashort *Fixo 6Quando o Comando for uma coleta de dados, contém o tamanho Máximo do campo a ser lido
BufferEntrada e Saída, por valorchar *VariávelÁrea de transferência de dados entre a aplicação e a CliSiTef. Deve possuir, no mínimo, 20.000 bytes. Se automação não estiver enviando dados para a CliSiTef, deve passar esse campo vazio
TamBufferEntrada, por valorintFixo 6Tamanho da área reservada pela automação para o campo Buffer
ContinuaEntrada, por valorintFixo 6Contem instruções para a CliSiTef a respeito do Comando executado segundo a seguinte codificação:
0 → Continua a transação
1 → Retorna, quando possível, a coleta ao campo anterior
2 → Cancela o pagamento de conta atual, mantendo os anteriores em memória, caso existam, permitindo que tais pagamentos sejam enviados para o SiTef e até mesmo permite incluir novos pagamentos. Retorno válido apenas nas coletas de valores e data de vencimento de um pagamento de contas.
10000 → Continua a transação, vide observação a seguir
-1 → Encerra a transação

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:

Imagem2

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 erro pinpad

que ela desconheça ou não deseje tratar, que a informação seja capturada pela digitação pelo operador da informação solicitada.

Tabela de códigos de Comando#

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.

ComandoDescrição
0Está devolvendo um valor para, se desejado, ser armazenado pela automação
1Mensagem para o visor do operador
2Mensagem para o visor do cliente
3Mensagem para os dois visores
4Texto que deverá ser utilizado como título na apresentação do menu ( vide comando 21)
11Deve remover a mensagem apresentada no visor do operador (comando 1)
12Deve remover a mensagem apresentada no visor do cliente (comando 2)
13Deve remover mensagem apresentada no visor do operador e do cliente (comando 3)
14Deve limpar o texto utilizado como título na apresentação do menu (comando 4)
15Cabeçalho a ser apresentado pela aplicação. Refere-se a exibição de informações adicionais que algumas transações necessitam mostrar na tela.
Um exemplo é a transação de Empréstimo do Correspondente Bancário, que em certo ponto precisa que sejam mostradas informações para o cliente detalhando o empréstimo que está sendo contratado (como Valor da parcela, vencimento, etc..).
16Deve remover o cabeçalho apresentado pelo comando 15.
20Deve apresentar o texto em Buffer, e obter uma resposta do tipo SIM/NÃO.
No retorno o primeiro caráter presente em Buffer deve conter 0 se confirma e 1 se cancela.
21Deve apresentar um menu de opções e permitir que o usuário selecione uma delas.
Na chamada o parâmetro Buffer contém as opções no formato 1:texto;2:texto;...i:Texto;...
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)
22Deve 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.
23Este 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 mais disponível acarretando perda de dados e erro de comunicação.
29Aná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.
30Deve ser lido um campo cujo tamanho está entre TamMinimo e TamMaximo. O campo lido deve ser devolvido em Buffer.
31Deve 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.
No retorno deve ser devolvido em Buffer:
“0:”(digitação da primeira linha do cheque),
“1:”(Leitura do CMC-7) ou
“2:”(Digitação do CMC-7),
seguido do número coletado manualmente ou pela leitura/digitação do CMC-7, respectivamente.
Quando a primeira linha do cheque for coletada manualmente, o formato é o seguinte: Compensação (3), Banco (3), Agencia (4), C1 (1), ContaCorrente (10), C2 (1), Numero do Cheque (6) e C3 (1), nesta ordem. Notar que estes campos são os que estão na parte superior de um cheque e na ordem apresentada.
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.
34Deve ser lido um campo monetário ou seja, aceita o delimitador de centavos e devolvido no parâmetro Buffer.
35Deve 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 ValidaCampoCodigoEmBarras[1] 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 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.
41Análogo ao Comando 30, porém o campo deve ser coletado de forma mascarada.
42Menu identificado. Deve apresentar um menu de opções e permitir que o usuário selecione uma delas.
Na chamada o parâmetro Buffer contém as opções no formato classe
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).
O código das opções é a identificação (Tabela de códigos de meios de pagamento, configurações e menus) do campo da opção, ela pode ser utilizada na identificação da opção escolhida.
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.
·       Classes:
o   0: Classe não definida
o   1: Forma de pagamento, tipos abaixo:
§  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.

Tabela de valores para TipoCampo#

A seguir apresentamos os valores possíveis para o campo TipoCampo e respectivos significados5:

Os campos marcados com * indicam que são utilizados em um ou mais produtos.

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.

Já no caso do Correspondente Bancário ou de Funções Administrativas, a impressão de qualquer comprovante deve ser feita no momento que eles forem disponibilizados para a automação e a informação de se eles foram impressos corretamente ou não é passada pela função ContinuaFuncaoSiTefInterativo através do valor 0 ou -1, respectivamente, colocado em Continua.

TipoCampoDescrição
-1Não existem informações que podem/devem ser tratadas pela automação
0A 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
1Dados de confirmação da transação. Para ambientes com múltiplos servidores será retornado no seguinte formato:
<Dados_Confirmacao>;<Indice_SiTef>;<Endereco_SiTef>
2Informa o código da função SiTef utilizado na mensagem enviada para o servidor.
10 a 99Informa qual a opção selecionada no menu de navegação de transações seguindo a mesma codificação utilizada para definir as restrições no pagamento descritas no item Restrição ou habilitação das formas de pagamento.
e
3000 a 3999
100Modalidade de pagamento no formato xxnn.
xx corresponde ao grupo da modalidade e nn ao subgrupo.
Grupo:
·       00: Cheque
·       01: Cartão de Débito
·       02: Cartão de Crédito
·       03: Cartão tipo Voucher
·       05: Cartão Fidelidade
·       98: Dinheiro
·       99: Outro tipo de cartão
Subgrupo:
·       00: À vista
·       01: Pré-datado
·       02: Parcelado com financiamento pelo estabelecimento
·       03: Parcelado com financiamento pela administradora
·       04: À vista com juros
·       05: Crediário
·       99: Outro tipo de pagamento
101Conté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
102Contém o texto descritivo da modalidade de pagamento que deve ser impresso no cupom fiscal (p/ex: T.E.F., Cheque, etc...)
105Contém a data e hora da transação no formato AAAAMMDDHHMMSS
110Retorna 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.
111Conté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.
112Contém o texto descritivo da modalidade de cancelamento que deve ser impresso no cupom fiscal (p/ex: T.E.F., Cheque, etc...).
115Modalidade Ajuste
120Buffer contém a linha de autenticação do cheque para ser impresso no verso do mesmo
121Buffer 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
122Buffer 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
123Indica que os comprovantes que serão entregues na sequê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"
125Código do Voucher
130Indica, na coleta, que o campo em questão é o valor do troco em dinheiro a ser devolvido para o cliente. Na devolução de resultado (Comando = 0) contém o valor efetivamente aprovado para o troco
131Contém um índice que indica qual a instituição que irá processar a transação segundo a tabela presente no final do documento (até 5 dígitos significativos)
132Contém um índice que indica qual o tipo do cartão quando esse tipo for identificável, segundo uma tabela a ser fornecida (5 posições)
133Contém o NSU do SiTef (6 posições)
134Contém o NSU do Host autorizador (20 posições no máximo)
135Contém o Código de Autorização para as transações de crédito (15 posições no máximo)
136Contém as 6 primeiras posições do cartão (bin)
137Saldo a pagar
138Valor Total Recebido
139Valor da Entrada
140Data da primeira parcela no formato ddmmaaaa
143Valor gorjeta
144Valor devolução
145Valor de pagamento
146A rotina está sendo chamada para ler o Valor a ser cancelado. Caso o aplicativo de automação possua esse valor, pode apresentá-lo para o operador e permitir que ele confirme o valor antes de passá-lo devolvê-lo para a rotina. Caso ele não possua esse valor, deve lê-lo.
147Valor a ser cancelado
150Contém a Trilha 1, quando disponível, obtida na função LeCartaoInterativo
151Contém a Trilha 2, quando disponível, obtida na função LeCartaoInterativo
153Contém a senha do cliente capturada através da rotina LeSenhaInterativo e que deve ser passada a lib de segurança da Software Express personalizada para o estabelecimento comercial de forma a obter a senha aberta
154Contém o novo valor de pagamento
155Tipo cartão Bônus
156Nome da instituição
157Código de Estabelecimento
158Código da Rede Autorizadora
160Número do cupom original
161Número Identificador do Cupom do Pagamento
Trata-se de um contador (começando pelo valor 0) de pagamentos que ocorreram no cupom.
Exemplo: Se no Cupom ocorreram 6 pagamentos os valores retornados serão de [0] a [5].
170Venda Parcelada Estabelecimento Habilitada
171Número Mínimo de Parcelas – Parcelada Estabelecimento
172Número Máximo de Parcelas – Parcelada Estabelecimento
173Valor Mínimo Por Parcela – Parcelada Estabelecimento
174Venda Parcelada Administradora Habilitada
175Número Mínimo de Parcelas – Parcelada Administradora
176Número Máximo de Parcelas – Parcelada Administradora
177Indica que o campo é numérico (PBM)
178Indica que o campo é alfanumérico (PBM)
200Saldo disponível*, saldo do produto específico (escolar, vale transporte)
201Saldo Bloqueado
500Indica que o campo em questão é o código do supervisor. A automação, pode, se desejado, validar os dados coletados, deixando o fluxo da transação seguir normalmente caso seja um supervisor aceitável
501Tipo do Documento a ser consultado (0 – CPF, 1 – CGC)
502Número do documento (CPF ou CGC)
504Taxa de Serviço
505Número de Parcelas
506Data do Pré-datado no formato ddmmaaaa
507Captura se a primeira parcela é a vista ou não (0 – Primeira a vista, 1 – caso contrário)
508Intervalo em dias entre parcelas
509Captura se é mês fechado (0) ou não (1)
510Captura se é com (0) ou sem (1) garantia no pré-datado com cartão de débito
511Número de Parcelas CDC
512Número do Cartão de Crédito Digitado
513Data de vencimento do Cartão
514Código de segurança do Cartão
515Data da transação a ser cancelada (DDMMAAAA) ou a ser re-impressa
516Número do documento a ser cancelado ou a ser re-impresso
517A rotina está sendo chamada para ler o Número do cheque segundo o descrito no tipo de comando correspondente ao valor 31
518Código do Item
519Código do Plano de Pagamento
520NSU do SiTef Original (Cisa)
521Número do documento de identidade (RG)
522A rotina está sendo chamada para ler o Número do Telefone
523A rotina está sendo chamada para ler o DDD de um telefone com até 4 dígitos
524Valor da primeira parcela
525Valor das demais parcelas
526Quantidade de cheques
527Data de vencimento do cheque
529A rotina está sendo chamada para ler a Data de Abertura de Conta no formato (MMAAAA)
530Autorização do supervisor digitada
531Autorização do supervisor especial
532A rotina está sendo chamada para ler a quantidade de parcelas ou cheques
533Dados adicionais da venda
534Emitente do cheque
535O documento pago pela transação
536Registros de retorno da consulta cheque CDL-Poa
537Código de área da cidade do cheque
550Endereço
551Número do endereço
552Andar do endereço
553Conjunto do endereço
554Bloco do endereço
555CEP do endereço
556Bairro do endereço
557CPF para consulta AVS
558Resultado da consulta AVS
559Número de dias do pré-datado
560Número de Ciclos
561Código da Ocorrência
562Código de Loja (EMS)
563Código do PDV (EMS)
564Dados Retornados (EMS)
565Ramal do Telefone
566Órgão Expedidor do RG
567Estado onde foi emitido o RG
568Data de expedição do RG
569Matrícula do Operador
570Nome do Operador
571Matrícula do Conferente
572Nome do Conferente
573Percentual de Juros Aplicado
574Matrícula do Autorizador
575Data do Cupom Fiscal da Transação Original
576Hora do Cupom Fiscal da Transação Original
577Dados do Carnê ou código resumido EMS
578Código de milhas diferenciadas 1
579Valor das milhas diferenciadas 1
580Código de milhas diferenciadas 2
581Valor das milhas diferenciadas 2
582Tipo de código externo EMS
583Código externo EMS
587Código nome da instituição autorizadora de celular
588Código estabelecimento autorizador de celular
593Digito(s) verificadores
594Cep da localidade onde está o terminal no qual a operação está sendo feita
595Obsoleto. Nsu do SiTef correspondente a transação de pagamento da Recarga com cartão
596Obsoleto. Nsu do Host Autorizador correspondente a transação de pagamento da Recarga com cartão
597Código da Filial que atendeu a solicitação de recarga do celular
599Código da rede autorizadora da recarga de celular
600Data de vencimento do título/convênio no formato DDMMAAAA
601Valor Pago*
602Valor Original
603Valor Acréscimo
604Valor do Abatimento
605Data Contábil do Pagamento
606Nome do Cedente do Titulo. Deve ser impresso no cheque quando o pagamento for feito via essa modalidade
607Índice do documento, no caso do pagamento em lote, dos campos 600 a 604 que virão em seguida
608Modalidade de pagamento utilizada na função de correspondente bancário. Segue a mesma regra de formatação que o campo de número 100
609Valor total dos títulos efetivamente pagos no caso de pagamento em lote
610Valor total dos títulos não pagos no caso de pagamento em lote
611NSU Correspondente Bancário
612Tipo do documento: 0 - Arrecadação, 1 - Titulo (Ficha de compensação), 2 - Tributo
613Contém os dados do cheque utilizado para efetuar o pagamento das contas no seguinte formato: Compensação (3), Banco (3), Agencia (4), Conta Corrente (10), e Numero do Cheque (6), nesta ordem. Notar que a ordem é a mesma presente na linha superior do cheque sem os dígitos verificadores
614NSU SiTef transação de pagamento
620NSU SiTef da transação original (transação de cancelamento)
621NSU Correspondente Bancário da transação original (transação de cancelamento)
622Valor do Benefício
623Código impresso no rodapé do comprovante do CB e utilizado para re-impressão/cancelamento
624Código em barras pago. Aparece uma vez para cada índice de documento (campo 607). O formato é o mesmo utilizado para entrada do campo ou seja, 0:numero ou 1:numero
625Recibo de retirada
626Número do banco
627Agência
628Dígito da agência
629Conta
630Dígito da conta
631Valor em dinheiro
632Valor em cheque
633Nome do depositante
634Documento original de Correspondente Bancário
635Chave do usuário utilizada para comunicação com o Banco
636Seqüencial único da chave do usuário no Banco
637Código da Agência de relacionamento da loja do correspondente
638Número do Cheque CB
639Número da Fatura
640Número do Convênio
641Data Inicial do Extrato (DDMMAAAA)
642Data Final do Extrato (DDMMAAAA)
643Período de Apuração
644Código da Receita Federal
645Valor da Receita Bruta
646Percentual Aplicado
647Valor Principal
648Valor Multa
649Valor Juros
670Dado do PinPad
700Operadora de ValeGás
701Produto ValeGás
702Número do ValeGás
703Número de Referência
704Código GPS
705Competência GPS
706Identificador Contribuinte
707Valor INSS
708Valor Outras Entidades
709Permite Pagamento de Contas Com Dinheiro (0 – Não Permite; 1 – Permite)
710Permite Pagamento de Contas Com Cheque (0 – Não Permite; 1 – Permite)
711Permite Pagamento de Contas Com TEF Débito (0 – Não Permite; 1 – Permite)
712Permite Pagamento de Contas Com TEF Crédito (0 – Não Permite; 1 – Permite)
713Formas de Pagamento utilizadas na transação de Pagamento genérico
714Valor do Saque
715Numero do Pedido
716Valor Limite do Depósito CB
717Valor Limite do Saque CB
718Valor Limite do Saque para Pagamento CB
719Valor do produto ValeGás
722Valor mínimo de pagamento
723Identificação do Cliente, apenas para recebimento Carrefour
724Venda Crédito Parcelada com Plano Habilitada
725Venda Crédito com Autorização a Vista Habilitada
726Venda Crédito com Autorização Parcela com Plano Habilitada
727Venda Boleto Habilitada
729Valor máximo de pagamento
730Número Máximo de Formas de Pagamento, 0 para sem limite
731Tipo 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
732Dados 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
734Limite mínimo de venda para promoções flexíveis, com 12 dígitos sendo os 2 últimos dígitos referentes as casas decimais
738Valor sugerido para o produto selecionado.
739Cliente Preferencial
750Valor Pague Fácil CB
751Valor Tarifa Pague Fácil CB
de 800 a 849Toda a faixa de 800 a 849 está reservada para retorno dos GerPdv
950CNPJ Credenciadora NFCE
951Bandeira NFCE
952Número de autorização NFCE
953Código Credenciadora SAT
1002Data de Validade do Cartão
1003Nome do Portador do Cartão
1010Quantidade de medicamentos - PBM
1011Índice do medicamento – PBM
1012Código do medicamento – PBM
1013Quantidade autorizada – PBM
1014Preço máximo ao consumidor – PBM
1015Preço recomendado ao consumidor – PBM
1016Preço de venda na farmácia – PBM
1017Valor de reembolso na farmácia – PBM
1018Valor reposição na farmácia – PBM
1019Valor subsídio do convênio – PBM
1020CNPJ convênio – PBM
1021Código do plano do desconto – PBM
1022Possui receita médica – PBM
1023CRM – PBM
1024UF – PBM
1025Descrição do produto* - PBM
1026Código do produto – PBM
1027Quantidade do produto – PBM
1028Valor do produto – PBM
1029Data da receita médica - PBM
1030Código de autorização PBM
1031Quantidade estornada – PBM
1032Código de estorno PBM
1033Preço recomendado consumidor a vista – PBM
1034Preço recomendado consumido para desconto em folha – PBM
1035Percentual de reposição da farmácia – PBM
1036Comissão de reposição – PBM
1037Tipo de Autorização – PBM
1038Código do conveniado – PBM
1039Nome do conveniado – PBM
1040Tipo de Medicamento PBM (01–Medicamento, 02-Manipulação, 03-Manipulação Especial, 04-Perfumaria)
1041Descrição do Medicamento – PBM
1042Condição p/venda: Se 0 obrigatório utilizar preço Funcional Card (PF)
Se 1 pode vender por preço inferior ao preço PF
1043Preço funcional card
1044Preço praticado – PBM
1045Status do medicamento – PBM
1046Quantidade receitada – PBM
1047Referência – PBM
1048Indicador da venda PBM (0-Produto venda cartão 1-Produto venda a vista)
1051Data de nascimento
1052Nome da mãe
1058Dados adicionais – ACSP
1100Registro analítico CHECKCHECK
1101Registro analítico ACSP
1102Registro analítico SERASA
1103Imagem tela analítica ACSP
1104Imagem tela analítica SERASA
1105Motivo do cancelamento – ACSP
1106Tipo de consulta – ACSP
1107CNPJ Empresa Conveniada
1108Código da administradora
1109Dados tabela Telecheque - ACSP
1110Matrícula do motorista – Cartão Combustível
1111Placa do veículo – Cartão Combustível
1112Quilometragem – Cartão Combustível
1113Quantidade de litros – Cartão Combustível
1114Combustível principal – Cartão Combustível
1115Produtos de combustível – Cartão Combustível
1116Código Produto Host – Cartão Combustível
1117Horímetro – Cartão Combustível
1118Linha de Crédito – Cartão Combustível
1119Tipo de Mercadoria – Cartão Combustível
1120Ramo – Cartão Combustível
1121Casas decimais de preços unitários – Cartão Combustível
1122Quantidade máxima de produtos à venda
1123Tamanho do código do Produto – Cartão Combustível
1124Código do veículo – Cartão Combustível
1125Nome da Empresa – Cartão Combustível
1126Casas decimais da quantidade – Cartão Combustível
1128Lista de Perguntas – Cartão Combustível
1129Permite Coleta de Produto – Cartão Combustível
1131Código do Limite
1132Quantidade de Titulares
1133Data de Abertura da Empresa (DDMMAAAA)
1134Nome do Titular
1135Complemento do Endereço
1136Cidade
1137Estado
1152Menu de Valores - SPTrans
1160Produto com Valor de Face – Gift
1190Embosso (4 últimos dígitos) do Cartão
1200Total de consultas anteriores
1201Valor acumulado das consultas anteriores, contendo 2 dígitos decimais porém sem o caractere decimal.
1202Total de consultas efetuadas no dia.
1203Valor acumulado das consultas no dia, contendo 2 dígitos decimais porém sem o caractere decimal.
1204Total de consultas de cheques pré-datados realizados no período.
1205Valor acumulado de cheques pré-datados, contendo 2 dígitos decimais porém sem o caractere decimal.
1206Vendedor (Usuário) - PBM
1207Senha – PBM
1208Código de Retorno – PBM
1209Origem – PBM
1321NSU do Host Autorizador da Transação Cancelada
2006Tipo de criptografia
2007Índice MasterKey
2008Chave de criptografia
2009Senha do cartão
2010Código de resposta do autorizador
2011Bin da rede
2012Número serial do CHIP
2013Registro de controle do CHIP
2014Saldo comum, saldo do passe comum
2015PAN do cartão presente
2017Data primeiro vencimento
2018Valor total
2019Valor financiado
2020Percentual multa
2047Juros de mora
2048TAC (Taxa de administração)
2053Menu (produto) selecionado Visanet
2054Tipo Crédito CDC (1 – CDC Produto; 2 – CDC Serviço)
2055Data/Hora Sitef (Local)
2056Dia da semana Sitef (Local)
2057Data/Hora Sitef (GMT)
2058Dia da Semana Sitef (GMT)
2059Dados da Forma de Pagamento - SPTrans
2064Valor pagamento em dinheiro
2065Código consulta cheque (Genérica EMS)
2067Mensagem do autorizador a ser exibida junto com o menu de valores (Se o terminal permitir)
2078Código do serviço
2079Valor do serviço
2081Menu de Produtos
2082Nosso número
2083Valor total do produto contendo o separador decimal (“,”) e duas casas decimais após a vírgula.
2086Código do Produto - ValeGas
2087Demonstrativo de prazos : 0: Não; 1: Sim
2088Cancelamento Total/Parcial : 0: Parcial; 1: Total
2089Número de identificação da fatura.
2090Tipo do cartão Lido:
·       00 – Magnético (Cartões magnéticos tradicionais e Samsung Pay no modo “MST – Magnetic Secure Transmission”)
·       01 - Moedeiro VISA Cash sobre TIBC v1
·       02 - Moedeiro VISA Cash sobre TIBC v3
·       03 - EMV com contato
·       04 - Easy-Entry sobre TIBC v1
·       05 - Chip sem contato simulando tarja
·       06 - EMV sem contato (Cartões tradicionais, adesivos e pulseiras sem contato, além das soluções mobile tais como Apple Pay, Google Pay, Samsung Pay no modo “NFC – Near Field Communication”, entre outros)
·       99 – Digitado
2091Status da última leitura do cartão
·       0 - Sucesso.
·       1 - Erro passível de fallback.
·       2 - Aplicação requerida não suportada.
2093Código do atendente
2103Indica se foi transação offline : 1 : Sim
2109Senha temporária
2124Valor da tarifa da Recarga de Celular (via Correspondente Bancário. Exemplo: CB Bradesco)
2125Número da parcela (2 caracteres) (Hotcard)
2126Seqüencial da transação (6 caracteres) (Hotcard)
2301Rodapé do comprovante da via estabelecimento
2320Código do Depositante – CB
2321Código do Cliente
2322Sequencia Cartão – CB
2323Via Cartão - CB
2324Tipo do Extrato – CB
2325Valor limite de Transferência - CB
2326Valor limite para coleta de CPF/CNPJ – CB
2327CPF/CNPJ do Proprietário – CB
2328CPF/CNPJ do Portador – CB
2329Tipo do documento do Proprietário - CB
2330Tipo do documento do Portador - CB
2331Indica se permite pagamento com cartão CB
2332Valor da Transferência
2333Identificação da transação
2334Pin Code
2355Quando retornado, atua como uma “dica” para o formato do próximo campo que será coletado. Normalmente é acompanhado do comando zero (0 – retorno de valor para uso pela automação).
Assume os seguintes valores:
·       A Alfabético
·       AN Alfanumérico (ans)
·       LN Letras não acentuadas e números
·       N Numérico
·       Vx Valor com x casas decimais
·       S Sim/Não
·       M Menu
·       Mc Menu com confirmação
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.
2361Indica que foi efetuada uma transação de débito para pagamento de carnê
2362Retornado 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.
2363Indica que foi efetuada uma transação de crédito para pagamento de carnê
2364Retornado 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 crédito convencional de crédito para pagamento de contas.
2369Pontos a resgatar (numérico sem casa decimal).
2421Informa se está habilitada a função de coleta de dados adicionais do cliente (0 ou 1)
2467Data no Formato DDMMAA Confirmação Positiva
2468Data no Formato DDMM Confirmação Positiva
2469Data no Formato MMAA Confirmação Positiva
2470Campo com Ponto Flutuante
2601Mensagem para pinpad
2602Semente Hash
2603Modalidade para leitura de cartão através da função 431.
2699Envia informação adicional de Ativação/Recarga GIFT, retornada pelo host SQCF, para a Automação
2925Valor de Recarga de Cartão de Crédito
2965Valor de Recarga de Cartão de Débito
2974Venda Parcelada via Crediário Habilitada
2975Número mínimo de parcelas para crediário
2976Número máximo de parcelas para crediário
3481Menu (gerencial ) Consulta AVS
3988Menu Crediário
3989Menu Simulação Crediário
4000Status da Pré-Autorização – PBM
4001CRF – PBM
4002UF do CRF – PBM
4003Tipo de venda – PBM
4004Valor total PBM
4005Valor a vista PBM
4006Valor cartão PBM
4007Nosso número PBM
4008Percentual de desconto concedido pela administradora (2 casas decimais)
4016Preço bruto – PBM
4017Preço líquido – PBM
4018Valor a receber da Loja, em centavos – PBM
4019Número do lote gerado pela Central – PBM
4020Valor total a receber da loja – PBM
4021Valor total a receber da loja – PBM
4022Soma dos valores da Operação – PBM
4023Nome da operadora – PBM
4024Nome da empresa conveniada – PBM
4025Quantidade de dependentes – PBM
4026Código do dependente – PBM
4027Nome do dependente – PBM
4028Valor a receber do conveniado – PBM
4029Valor do desconto total, em centavos
4030Valor líquido total, em centavos - PBM
4031Código da Operadora Selecionada PBM (deverá ser gravado para posterior envio nas demais transações)
4032Campo de retorno de dados livres referentes às transações PBM.
4033Tipo de documento PBM (0 = CRM, 1 = CRO)
4034Dados do Resgate - Bônus
4039Código Resposta PBM (0 = Ok, <>0 = erro)
4040Produto Fracionado PBM (0 = não, 1 = sim)
4041Paciente ID PBM (-1 = outros, 00 = titular, 01 = dependente)
4043Receita ID PBM (receita cadastrada pela empresa)
4044Receita item ID PBM (item da receita cadastrada pela empresa)
4045Receita uso contínuo (0 = não, 1 = sim)
4046Produto Manipulado PBM (princípios ativos)
4047Produto Manipulado PBM Valor Original
4058Valor do Produto Aprovado com Desconto
4076Identificação da Loja
4077Contém o NSU do FEPAS (20 posições no máximo)
4095CPF/CNPJ do Beneficiario
4096CPF/CNPJ do Sacador
4097CPF/CNPJ do Pagador
4100Erro de comunicação (por exemplo: timeout) No Buffer contém o código do Erro.
Exemplos:
[TCP:R:10054] Foi forçado o cancelamento de uma conexão existente pelo host remoto.
[TCP:C:10060:TO] Uma tentativa de conexão falhou porque o componente conectado não respondeu corretamente após um período de tempo
ou a conexão estabelecida falhou porque o host conectado não respondeu.
4125Cupom Cliente disponível, para reimpressão ou consulta, na base de dados do SiTef
4126Cupom Estabelecimento disponível, para reimpressão ou consulta, na base de dados do SiTef
4127Quantidade de dias que os cupons estarão disponíveis na base de dados do SiTef

Tabela de Eventos, retornados também em TipoCampo#

Durante a transação, a CliSiTef pode informar a ocorrência de determinados eventos. Estes eventos são retornados no parâmetro TipoCampo da rotina ContinuaFuncaoSiTefInterativo ou ContinuaFuncaoSiTefInterativoA, conforme a tabela abaixo.

TipoCampoDescrição
5000Indica que a biblioteca está aguardando a leitura de um cartão
5001Indica que a biblioteca está esperando a digitação da senha pelo usuário
5002Indica que a biblioteca está esperando a digitação dos dados de confirmação positiva pelo usuário
5003Indica que a biblioteca está aguardando a leitura do bilhete único
5004Indica que a biblioteca está aguardando a remoção do bilhete único
5005Indica que a transação foi finalizada
5006Confirma Dados Favorecido
5007SiTef Conectado
5008SiTef Conectando
5009Consulta OK
5010Colher Assinatura
5011Coleta Novo Produto
5012Confirma Operação
5013Confirma Cancelamento
5014Confirma Valor Total
5015Conclusão de Recarga de Bilhete Único
5016Reservado
5017Aguardando leitura de cartão
5018Aguardando digitação da senha no PinPad
5019Aguardando processamento do chip
5020Aguardando remoção do cartão
5021Aguardando confirmação da operação
5027Cancelamento da leitura do cartão
5028Cancelamento da digitação da senha no PinPad
5029Cancelamento do processamento do cartão com CHIP
5030Cancelamento da remoção do cartão
5031Cancelamento da confirmação da operação
5036Antes da leitura do cartão magnético
5037Antes da leitura do cartão com CHIP
5038Antes da remoção do cartão com CHIP
5039Antes da coleta da senha no pinpad
5040Antes de abrir a comunicação com o PinPad
5041Antes de fechar a comunicação com o PinPad
5042Deve bloquear recursos para o PinPad
5043Deve liberar recursos para o PinPad
5044Depois de abrir a comunicação com o PinPad
5049Timeout com o SiTef
5050Atualização de tabelas para transações offlines.
O conteúdo deste campo varia de acordo com a transação sendo realizada.
5051Indica que coletou senha no pinpad.
5052Indica que processou cartão com chip (GoOnChip)
5053Indica que removeu cartão com chip da leitora do pinpad
5054Indica que efetuou entrega de dados sensíveis(Específico para POS PAX)
5055Indica que está atualizando tabelas no pinpad(Evento retornado a cada registro enviado ao pinpad)
5056Indica que está enviando arquivos para o Sitef
5057Indica inicio do envio de campos com dados sensíveis.
5058Indica fim do envio de campos com dados sensíveis
5059Indica que está aguardando leitura de cartão (Modalidade 29)
5060Reservado
5061Reservado
5062Indica inicio do envio de campos relacionados a produtos(combustíveis, medicamentos, etc)
5063Indica Fim do envio de campos relacionados a produtos(combustíveis, medicamentos, etc)
5074Indica que deve ser obtida assinatura em papel num pagamento com cartão com chip
5501Início de uma transação do tipo Correspondente Bancário.

Confirmação ou não do Pagamento#

Rotina chamada pelo aplicativo para fechar o ciclo transacional. Ela deve ser acionada no momento que o comprovante Fiscal for fechado e recebe como parâmetros um indicador de se a transação foi concretizada ou se deve ser estornada. Recebe também os campos que permitem identificar a transação que está sendo finalizada.

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.

void FinalizaFuncaoSiTefInterativo (Confirma, CupomFiscal, DataFiscal, HoraFiscal, ParamAdic);

Interface ASCII

void FinalizaFuncaoSiTefInterativoA (Confirma, CupomFiscal, DataFiscal, HoraFiscal, ParamAdic);

ParâmetroTipoInterface padrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
ConfirmaEntrada, por valorshortFixo 1Indica se a transação deve ser confirmada (1) ou estornada (0)
CupomFiscalEntrada, por valorchar *Máx. 20Número do Cupom Fiscal correspondente à venda
DataFiscalEntrada, por valorchar *Fixo 8Data Fiscal no formato AAAAMMDD
HoraFiscalEntrada, por valorchar *Fixo 6Horário Fiscal no formato HHMMSS[1]
ParamAdicEntrada, por valorchar *VariávelParâmetros adicionais, descritos abaixo. Se não usado, automação deve passar vazio/NULL.

[1] O parâmetro HoraFiscal não é usado como “chave” para um documento fiscal.

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.

O parâmetro ParamAdic pode ser usado nas situações abaixo:

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}

onde XXX é o número do pagamento, retornado anteriormente no TipoCampo 161.

Finalização de pagamentos de uma determinada rede em um mesmo cupom fiscal#

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}

onde XXX é o número da rede autorizadora.

Anexar dados referentes às formas de pagamento de uma transação (NFPAG)#

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:

X = Número do pagamento no cupom (Campo 161)

Y = Dados referentes às formas de pagamento (Ver descrição abaixo)

Observação: Neste caso, todos os pagamentos em um mesmo cupom fiscal serão todos confirmados ou não confirmados.

Descrição do parâmetro NFPAG:

{NFPAG=FPAG1;FPAG2; FPAG3;...;FPAGn;}

Onde FPAGn tem o seguinte conteúdo:


Se houver dados a serem coletados


TipoN:ValorN:IDColetaN1:DadoColetaN1-IDColetaN2:DadoColetaN2-...-IDColetaNn:DadoColetaNn

Se não houver dados a serem coletados

TipoN:ValorN


=> TipoN: indica a forma de pagamento utilizada (Campo 731, conforme tabela abaixo)

=> 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 ;

TipoCampoDescrição
730Número máximo de formas de pagamento a ser enviado através do parâmetro NFPAG. 0 para sem limite.
731Tipo 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
·       10: Ticket Eletrônico
·       11: Ticket Papel
·       12: Carteira Digital
·       13: Pix
·       50: TEF Cartão
·       77: Campo Reservado
·       98: Sem Pagamento
·       99: Outras Formas
732Dados a serem enviados para o Tipo de Pagamento (Campo 731) 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
·           o ‘0’: leitura de CMC-7
·           o ‘1’: digitação da primeira linha do cheque
·           o ‘2’: digitação do CMC-7
·       02: Dados do Cheque
·           o CMC-7 lido ou digitado, ou
·           o Digitação da primeira linha do cheque, com o seguinte formato:
·           o 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 133)
            Identificação da transação de TEF no 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 134)
            Identificação da transação de TEF no Host.
·       08: Data do Host da transação de TEF (Campo 105)
            Data da transação de TEF no Host, no formato DDMMAAAA.
·       09: Código de Origem da transação de TEF (Campo 157)
            Código de Estabelecimento da transação de TEF.
·       10: Serviço Z da transação de TEF (Campo 1)
            Valor do serviço Z devolvido pelo módulo Sit responsável pela transação de TEF.
           o Passar apenas o dados de confirmação, retirando os dados do índice do SiTef e endereço do SiTef caso existam, segue o formato desse campo:
             DadosConfirmação;IndiceSiTef;EnderecoSiTef
Outra opção seria utilizar a seguinte configuração no arquivo CliSiTef.ini:
[Geral]
DevolveConfirmacaoExtendida=0
Usando esta configuração, mesmo no caso de múltiplos SiTef será retornado apenas o Serviço Z no campo 1 da CliSiTef, dessa maneira também não é necessário alterar o valor do campo na hora de colocar no prefixo NFPAG.
·       11: Código de Autorização da transação de TEF (Campo 135)
            Código de Autorização do Host para a transação de TEF.
·       12: Valor do Cheque
            Valor Total do Cheque. Um mesmo cheque pode ser usado para pagar mais de uma conta
·       13: Rede Destino – Complemento
            Complemento do ID 03 (veja descrição abaixo)
·       14: Bandeira do Cartão
            Bandeira do Cartão utilizado na transação de TEF
·       15: Tipo de Pagamento
         ‘00’ – a vista
         ‘01’ – Pré-datado
         ‘02’ – Parcelado pelo estabelecimento
         ‘03’ - Parcelado pela administradora
·       16: Id da Carteira Digital
            (retorna no campo 106 da Venda com Carteira Digital)

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).

Consulta de transações pendentes de confirmação no terminal#

Em caso de queda de energia, pode ocorrer situações em que a automação precise consultar transações que estejam pendentes de confirmação. Isto é, transações que precisam ser confirmadas (ou não) via FinalizaFuncaoSiTefInterativo.

Quantidade de transações pendentes de confirmação no terminal#

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.

int ObtemQuantidadeTransacoesPendentes (DataFiscal, CupomFiscal)

Interface ASCII

ObtemQuantidadeTransacoesPendentesA (Resultado, DataFiscal, CupomFiscal)

ParâmetroTipoInterface padrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
DataFiscalEntrada, por valorchar *Fixo 8Data Fiscal no formato AAAAMMDD
CupomFiscalEntrada, por valorchar *Máx. 20Número do Cupom Fiscal correspondente à venda

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.

Consulta a transações pendentes no terminal#

É possível consultar todas as informações de pendências de confirmação do terminal.

Essa funcionalidade é iniciada através da função IniciaFuncaoSiTefInterativo com o parâmetro Funcao (primeiro parâmetro de entrada da rotina) assumindo o valor 130 e os demais parâmetros com seus valores usuais.

Em particular, esta função irá desconsiderar os parâmetros relativos ao 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.

Os campos a seguir serão retornados para a automação.

TipoCampoDescrição
210Quantidade total de pendências, listadas nos blocos de dados abaixo
160Cupom Fiscal
161Número Identificador do Cupom do Pagamento
163Data Fiscal
164Hora Fiscal
211Código da “Funcao” original
1319Valor da transação original

Consulta a transações pendentes em um documento fiscal específico#

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.

Os campos retornados são idênticos ao item anterior.

Funções de PinPad#

Teste da presença de PinPad#

É 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.

São duas as funções para esta finalidade.

A função original tem o seguinte formato:

int VerificaPresencaPinPad (void)

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.

int KeepAlivePinPad (void)

Ambas rotinas não possuem parâmetros de entrada, e podem retornar os seguintes valores:

1 - Existe um PinPad operacional conectado ao micro;

0 - Não existe um PinPad conectado ao micro;

-1 - biblioteca de acesso ao PinPad não encontrada;

outro número - erros detectados internamente pela rotina ou pela biblioteca de acesso ao PinPad

Define mensagem permanente para o 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:

int EscreveMensagemPermanentePinPad (Mensagem)

Interface ASCII

EscreveMensagemPermanentePinPadA (Resultado, Mensagem)

ParâmetroTipoInterface padrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
MensagemEntrada, por valorchar *VariávelMensagem a ser apresentada no visor do PinPad. Recomenda-se que ela possua no máximo 32 caracteres de forma a ser compatível com os PinPad’s existente atualmente em campo.

Para apagar a mensagem e deixar o visor em branco, basta chamar essa função passando o campo Mensagem vazio.

A aplicação, se desejar, pode incluir o caractere '|' (Barra vertical) para indicar uma mudança de linha.

Leitura da trilha 3 do cartão#

Esta função permite que o aplicativo capture uma trilha 3 magnética genérica.

Note que o PinPad deve ter suporte para a leitura da trilha 3.

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:

int LeTrilha3 (Mensagem)

ParâmetroTipoInterface padrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
MensagemEntrada, por valorchar *VariávelMensagem a ser apresentada no visor do PinPad.

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.

Leitura do cartão - rotinas de captura segura#

Os rotinas seguintes têm seu funcionamento condicionado a dois pré-requisitos:

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.

int LeCartaoSeguro (Mensagem)

Interface ASCII

LeCartaoSeguroA (Resultado, Mensagem)

ParâmetroTipoInterface padrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
MensagemEntrada, por valorchar *VariávelMensagem a ser apresentada no visor do PinPad.

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".

Esta "Função" segue o fluxo de uma transação "Gerencial" e é acessada através de IniciaFuncaoSiTefInterativo(Ver item "5.2 - Início da transação de Pagamento ou Gerencial").

• 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.

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" abaixo).

Formato do parâmetro em "ParamAdic":

{SementeHash=XX...XX}

Onde: XX...XX: Máximo 64 caracteres.

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.

int LeCartaoDiretoSeguro (Mensagem, TipoCampoTrilha1, Trilha1, TipoCampoTrilha2, Trilha2, Timeout, TestaCancelamento)

Interface ASCII

LeCartaoDiretoSeguroA (Resultado, Mensagem, TipoCampoTrilha1, Trilha1, TipoCampoTrilha2, Trilha2, Timeout)

ParâmetroTipoInterface padrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
MensagemEntrada, por valorchar *VariávelMensagem a ser apresentada no visor do PinPad.
TipoCampoTrilha1Saída, por valorchar *Fixo 12Indica o tipo de campo que foi retornado na trilha 1, se ele é mascarado, criptografado ou em Hash.
Trilha1Saída, por valorchar *Máx. 128No retorno contém, caso exista, a Trilha 1 lida
TipoCampoTrilha2Saída, por valorchar *Fixo 12Indica o tipo de campo que foi retornado na trilha 2, se ele é mascarado, criptografado ou em Hash.
Trilha2Saída, por valorchar *Máx. 80No retorno contém, caso exista, a Trilha 2 lida
TimeoutEntrada, por valorshortFixo 6Define o tempo máximo de espera pela passagem do cartão em segundos. Se zero, espera até que o cartão seja passado
TestaCancelamentoEntrada, por valorRotinaNão usadoRotina da aplicação de automação que retorna 0 se é para continuar aguardando pelo cartão e 1 caso deva 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.

Para esta rotina específica, os códigos de erro retornados são:

ValorDescrição
0Não ocorreu erro
1Campo de saída insuficiente
2BIN NAO HABILITADO
3CNPJ inválido
4Chave de acesso vencida
5Versão inválida
6Chave de criptografia inválida
7Dados não criptografados com a chave fornecida como parâmetro: a decriptação decriptografia resultou em um número de cartão que não é composto só por dígitos.
8Dado de entrada inválido

Os campos TipoCampoTrilha1 e TipoCampoTrilha2 indicam o tipo de campo retornado, respeitando o valor estabelecido para os campos sensíveis, com 202x para campos abertos mascarados, 203x para o Hash dos campos, 204x para campos criptografados e 205x.

Campos que podem ser retornados:

TipoCampoDescrição
202xCampos abertos, mascarados.
203xHash dinâmico dos campos
204xCampos criptografados
205xHash fixo dos campos *

Onde x é representado pela tabela abaixo:

xCampo
1PAN do cartão
2Vencimento do cartão (AAMM)
3Nome do cliente/portador
4Trilha 1
5Trilha 2
6Trilha 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.

int LeCartaoDiretoSeguroEx (Mensagem, DadosOut, TamDadosOut, Timeout, TestaCancelamento)

Interface ASCII

LeCartaoDiretoSeguroExA (Resultado, Mensagem, DadosOut, TamDadosOut, Timeout)

ParâmetroTipoInterface padrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
MensagemEntrada, por valorchar *VariávelMensagem a ser apresentada no visor do PinPad.
DadosOutSaída, por valorchar *VariávelRetorna os mesmos dados da rotina LeCartaoDiretoSeguro, 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).
TamDadosOutEntrada, por valorchar *Fixo 6Tamanho do buffer de DadosOut.
TimeoutEntrada, por valorshortFixo 6Define o tempo máximo de espera pela passagem do cartão em segundos. Se zero, espera até que o cartão seja passado
TestaCancelamentoEntrada, por valorRotinaNão usadoRotina da aplicação de automação que retorna 0 se é para continuar aguardando pelo cartão e 1 caso deva interromper o processo de aguardar a passagem do cartão

int LeTrilhaChipInterativo (Modalidade)

LeTrilhaChipInterativoEx (Modalidade, ParamAdic)

Interface ASCII

LeTrilhaChipInterativoA (Resultado, Modalidade)

ParâmetroTipoInterface PadrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
ModalidadeEntrada, por valorIntFixoSeleciona o tipo do pagamento:
2 : Débito
3 : Crédito
ParamAdicEntrada, por valorchar *VariávelParâmetros adicionais, como o {SementeHash=XXX..}. É 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:

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").

• Para utilização da "Função" 431, o parâmetro "Modalidade"(Tipo do pagamento) e "ParamAdic"(SementeHash), serão solicitados à Automação Comercial no fluxo da transação através do comando 29 (Ver item 3.3.1 Tabela de códigos de Comando).

• 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).

Leitura de senha#

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".

int LeSenhaInterativo (ChaveSeguranca)

Interface ASCII

LeSenhaInterativoA (Resultado, ChaveSeguranca)

ParâmetroTipoInterface PadrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
ChaveSegurancaEntrada, por valorchar *Fixo 64Dados gerados por uma biblioteca de segurança fornecida 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.

int LeSenhaDireto (ChaveSeguranca, SenhaCliente)

Interface ASCII

LeSenhaDiretoA (Resultado, ChaveSeguranca, SenhaCliente)

ParâmetroTipoInterface PadrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
ChaveSegurancaEntrada, por valorchar *Fixo 64Dados gerados por uma biblioteca de segurança fornecida 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
SenhaSaída, por valorchar *Fixo 20Senha do cliente, em formato criptografado, e que deve ser 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.

Leitura de Confirmação pelo Cliente no PinPad#

Estas funções permitem que o aplicativo solicite uma confirmação no PinPad. O formato de ativação é o seguinte:

int LeSimNaoPinPad (Mensagem)

Interface ASCII

LeSimNaoPinPadA (Resultado, Mensagem)

ParâmetroTipoInterface PadrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
MensagemEntrada, por valorchar *VariávelMensagem a ser apresentada no visor do PinPad.

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.

Define uma mensagem momentânea para o PinPad#

Permite que seja definida uma mensagem momentânea para ser apresentada no display do PinPad. O formato de ativação da rotina é:

int EscreveMensagemPinPad (Mensagem)

ParâmetroTipoInterface PadrãoDescrição
MensagemEntrada, por valorchar *Mensagem a ser apresentada no visor do PinPad. Recomenda-se que ela possua no máximo 32 caracteres de forma a ser compatível com os PinPad’s existentes atualmente em campo.

Para apagar a mensagem e deixar o visor em branco, basta chamar essa função passando o campo Mensagem vazio.

A aplicação, se desejar, pode incluir o caractere '\r' (carriage return) para indicar uma mudança de linha.

Leitura de teclas especiais do PinPad#

Essa função é utilizada para aguardar o pressionamento de uma tecla no pinpad, retornando seu código correspondente. O formato de ativação da rotina é:

int LeTeclaPinPad (void)

No retorno a rotina devolve:

ValorTeclaDescrição
0[OK] ou [ENTER]Pressionada a tecla OK ou ENTER
4[F1]Pressionada a tecla F1
5[F2]Pressionada a tecla F2
6[F3]Pressionada a tecla F3
7[F4]Pressionada a tecla F4
8[LIMPA]Pressionada a tecla LIMPA
13[CANCELA]Pressionada a tecla CANCELA
-43Qualquer outra tecla ou ocorreu algum erro no processo.Problema na execução de alguma das rotinas no pinpad.

Por questão de segurança, este comando não retorna teclas numéricas, sendo que o pressionamento destas teclas é simplesmente ignorado pelo pinpad durante a execução do comando.

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 de uma tecla.

Observação sobre o uso desta função para obter as teclas F1, F2, F3 e F4: há alguns pinpads no mercado que não possuem as teclas F1, F2, F3 e F4. Portanto ao utilizar esta função, deve-se deixar um plano B para estes casos.

Correspondente Bancário (Pagamento de Contas)#

Esta função permite que o aplicativo de automação aceite o pagamento de contas diversas de acordo com o contrato firmado entre ele e um Banco Correspondente. O formato de ativação desta funcionalidade é o seguinte:

int CorrespondenteBancarioSiTefInterativo (CupomFiscal, DataFiscal, Horario, Operador, ParamAdic)

Interface ASCII

CorrespondenteBancarioSiTefInterativoA (Resultado, CupomFiscal, DataFiscal, Horario, Operador, ParamAdic)

Onde os parâmetros possuem a mesma função já descrita para o Pagamento.

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.

Vale lembrar que o pinpad configurado {PortaPinPadCB=<porta>} atende somente ao Correspondente Bancário, não serve para TEFs.

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).

Verificação da integridade de um código em barras#

Permite, na coleta manual dos campos presentes em um código em barras, que o aplicativo faça a validação a medida que os campos estão sendo digitados, de forma a alertar o operador antecipadamente e permitir que ele corrija o erro. O formato de ativação da rotina é o seguinte:

int ValidaCampoCodigoEmBarras (Dados, Tipo)

Interface ASCII

ValidaCampoCodigoEmBarrasA (Resultado, Dados, Tipo)

ParâmetroTipoInterface padrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
DadosEntrada, por valorchar *VariávelMensagem a ser apresentada no visor do PinPad.
TipoSaída, por referênciashort *Fixo 6Informa o tipo do documento coletado segundo a seguinte 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:

- Arrecadação: a cada um dos 4 blocos de digitação

- Títulos: a cada grupo de dois blocos de digitaçã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.

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



Campo aberto pela automação


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.


23790 09505 91211 369656



A automação continua a coletar os dígitos e somente após a digitação do segundo grupo de números ela chama a rotina passando "237900950591211369656" como parâmetro. No retorno a rotina continua a devolver Tipo = 1. Já o resultado poderá ser 0, indicando que os blocos estão corretos ou 1 ou 2 indicando que o primeiro ou o segundo bloco está errado.


23790 09505 91211 369656 04025 039209 1 17690000005625



A automação continua a coletar os dígitos chamando a rotina no final do terceiro bloco com os dados 237900950591211369656 e no final do quarto bloco com todos os dados digitados. No retorno a rotina continua a devolver Tipo = 1 e o resultado refletirá a situação de erro ou não dos blocos passados como parâmetro. Em particular, se retornar o código 5 é porque existe algum dos blocos (não é possível identificar qual deles) com erro.

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.

Obtendo Versão#

Esta função é utilizada pelo terminal para obter as versões da CliSiTef e CliSiTefI.

int ObtemVersao (VersaoCliSiTef, VersaoCliSiTefI)

Interface ASCII

ObtemVersaoA (Resultado, VersaoCliSiTef, VersaoCliSiTefI)

ParâmetroTipoInterface padrãoInterface ASCIIDescrição
ResultadoSaída, por valorNão usadoFixo 6Contém o resultado de resposta à chamada da rotina.
VersaoCliSiTefSaída, por valorchar *Máx. 64No retorno contém a versão da CliSiTef
VersaoCliSiTefISaída, por valorchar *Máx. 64No retorno contém, caso exista, a versão da CliSiTefI

No retorno a rotina devolve 0 quando foi executada com sucesso e diferente no caso de erro.

Enviando mensagens pendentes#

Em situações de falha de comunicação com o servidor SiTef, a CliSiTef enviará automaticamente eventuais dados remanescentes (por exemplo, dados de confirmação, não-confirmação e desfazimento) somente na próxima transação do PDV.

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.

int DescarregaMensagens (void)

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.

Informações do PinPad#

Existem duas formas para obter informações básicas do PinPad conectado no PDV, tais como número de série, modelo, etc.

ObtemInformacoesPinPad -- função direta.

Através de código de função passada à IniciaFuncaoSiTefInterativo, e consequente processo iterativo.

A primeira forma é utilizando a função abaixo.

int ObtemInformacoesPinPad (InfoPinPad)

ParâmetroTipoInterface PadrãoDescrição
InfoPinPadSaída, por valorchar *No retorno contém as informações do PinPad

Em caso de sucesso, os dados serão retornados no seguinte formato:

2 caracteres numéricos que indicam a informação obtida sendo:

01 para o Nome do fabricante,

02 para o Modelo / versão do hardware,

03 para a Versão do software básico/firmware,

04 Versão da especificação compartilhada

05 para a Versão da aplicação básica,

06 para o Número de série.

3 caracteres numéricos que indicam o tamanho em caracteres da informação.

N (conforme tamanho acima) caracteres alfanuméricos com a informação.

Exemplo:

01006GERTEC02010PPC900;3MB030190077_0071_0080_0106040041.0605013001.23 100820060160450805232030714

Nome do fabricante : GERTEC

Modelo / versão do hardware : PPC900;3MB

Versão do software básico/firmware : 0077_0071_0080_0106

Versão da especificação : 1.06

Versão da aplicação básica : 001.23 100820

Número de série : 0450805232030714

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).

TipoCampoDescrição
2450Nome do fabricante
2451Modelo / versão do hardware
2452Versão do software básico/firmware
2453Versão da especificação
2454Versão da aplicação básica
2455Número de série do PinPad

Carga de Tabelas no PinPad#

Denomina-se carga de tabelas no pinpad o processo onde é feito a carga de informações de aplicações e parâmetros de chip no pinpad.

Este processo viabiliza a leitura de um cartão com chip durante as transações.

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.

Com alteração na Automação#

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.

Código da FunçãoDescrição
770Carga de tabelas no pinpad
771Carga forçada de tabelas no pinpad (Local)
772Carga forçada de tabelas no pinpad (SiTef)

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.

Sem alteração na Automação#

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,

• a opção 11 equivale à Funcao 770;

• a opção 12 equivale à Funcao 771;

• a opção 13 equivale à Funcao 772.

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

Arquivo de configurações CliSiTef.ini ou CLSIT#

A CliSiTef utiliza um arquivo no formato .ini, de modo a definir previamente determinadas configurações na estação.

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.

A seguir descreveremos algumas funcionalidades macro presentes neste arquivo.

Configuração do PinPad#

Configuração da porta#

A porta serial/usb do PinPad é configurada na seção PinPadCompartilhado, campo Porta.

[PinPadCompartilhado]

Porta=<PORT>

No Windows, deve-se usar informar o número da porta serial/usb. Por exemplo: 12

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.

Pinpads que suportam a configuração AUTO_USB em ambiente WINDOWS:

Fabricante/ModeloVersão Mínima CliSiTef
Gertec PPC900, PPC910, PPC920 e PPC9304.0.111.3
Ingenico iCT2xx4.0.111.3
Ingenico iHT1, iHT2, iHT3, iHT4 e iHT54.0.111.3
Ingenico IPPxxx4.0.111.3
Ingenico iSC2xx4.0.111.3
Ingenico iSC3504.0.111.3
Ingenico iST1xx4.0.111.3
Ingenico iUC1xx4.0.111.3
Ingenico iUP2504.0.111.3
Ingenico Lane30006.2.115.17 r1
PAX D2004.0.111.3
Verifone Vx810 e Vx8204.0.111.3
Verifone P2006.2.115.28 r2

Pinpads que suportam a configuração AUTO_USB em ambiente LINUX:

Fabricante/ModeloVersão Mínima CliSiTef
Gertec PPC900, PPC910 e PPC9204.0.111.18
Ingenico iCT2xx4.0.111.18
Ingenico iHT1, iHT2, iHT3, iHT4 e iHT54.0.111.18
Ingenico IPPxxx4.0.111.18
Ingenico iSC2xx4.0.111.18
Ingenico iSC3504.0.111.18
Ingenico iST1xx4.0.111.18
Ingenico iUC1xx4.0.111.18
Ingenico iUP2504.0.111.18
Verifone Vx810 e Vx8204.0.111.18

Nota: Pinpads de novos fabricantes ou novos modelos poderão ser incluídos nas listas acima, futuramente.

Configuração quando a Automação não utilizar pinpad#

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

Configuração de um segundo pinpad#

Conforme mencionado em Correspondente Bancário (Pagamento de Contas), transações de Pagamento de Contas requerem pinpad especifico do banco. Geralmente, existe um setor do estabelecimento comercial somente para este tipo de atendimento.

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.

Definição da mensagem padrão#

É possível inicializar o PinPad com uma mensagem de até 16 caracteres.

Esta mensagem é configurada na seção PinPad, campo MensagemPadrao.

[PinPad]

MensagemPadrao=<MENSAGEM>

É possível quebrar em duas linhas, utilizando o separador '|'.

Habilitando confirmação do valor no pinpad#

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

Configuração de conexão com o servidor SiTef#

Configuração de endereços IP adicionais#

No arquivo de configuração é possível adicionar endereços alternativos para o servidor SiTef. Estes endereços são complementares aos informados na função de configuração. São permitidos no máximo 4 endereços a partir da CliSiTef 6.1.114.59 r3 e anteriormente 3, considerando a soma dos enviados na função de configuração e arquivo CliSiTef.ini.

[SiTef]

EnderecoIP=IP1;IP2;IP3;IP4

Também é possível informar a porta do servidor, no formato IP:Porta.

Por exemplo:

EnderecoIP=127.0.0.1:4096;192.168.0.1:5096

Configuração da porta do servidor SiTef#

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.

[SiTef]

PortaSiTef=<porta>

Obrigatoriedade de conexão#

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

Mantendo conexão ativa#

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

Configuração do mostrador de comunicação#

Por padrão, a CliSiTef envia para a automação o comando 3 com uma mensagem do tipo "Aguarde, em processamento...".

Para desabilitar o mostrador de comunicação, basta incluir na seção Geral o campo MostradorComunicacaoHabilitado com valor zero.

[Geral]

MostradorComunicacaoHabilitado=0

Atenção: ao contrário dos itens anteriores, deve-se usar a seção Geral.

Alterando parâmetros de temporizações (timeout)#

Tempo para timeout de conexão com o servidor SiTef

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>

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.

Em situações de autorizador indisponível, e dependendo do canal de comunicação entre o servidor SiTef e a CliSiTef, esta margem pode ser insuficiente, podendo ocorrer erros do tipo "Sem conexão com o servidor SiTef", quando o correto seria "Serviço do autorizador indisponível".

Para incluir um tempo adicional em segundos, basta incluir o item TempoAdicionalEspera na seção SiTef.

[SiTef]

TempoAdicionalEspera=<tempo adicional para timeout, em segundos>

Tempo para espera de desfazimento

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>

Tempo para espera de confirmação

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>

Como passar um novo valor da compra da transação na CliSiTef#

Na seção [Geral] acrescente a chave PermiteAlterarValorPagamento=1, conforme abaixo:

[Geral]

PermiteAlterarValorPagamento=1

Durante o fluxo da transação, a CliSiTef solicitará \"Forneca o novo valor do pagamento\", através do campo 154.

Habilitando/desabilitando formas de pagamento#

A CliSiTef permite duas maneiras de se configurar as formas de pagamento.

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.

Restringindo formas de pagamento em tempo de execução#

A CliSiTef permite que o aplicativo de automação restrinja as modalidades de pagamento disponíveis ao operador de caixa/cliente para uma determinada venda. Isso é feito através do parâmetro "ParamAdic" presente nas funções que inicial o processo de pagamento ou Correspondente Bancário (IniciaFuncaoSiTefInterativo e CorrespondenteBancarioSiTefInterativo). O formato desse campo é o seguinte:

[<Tipo do meio de pagamento>;<Tipo do meio de pagamento>;...];

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.

Definindo valores padrão para formas de pagamento#

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.

O formato desse parâmetro é o seguinte:

[Geral]

TransacoesHabilitadas=<Tipo do meio de pagamento>;<Tipo do meio de pagamento>;...

onde cada um dos sub-campos possui a mesma descrição do item anterior.

Utilizando o mesmo exemplo do item anterior, para limitar as transações apenas as de pagamento à vista e sem cheque, a definição será:

[Geral]

TransacoesHabilitadas=16;26

Habilitação de transações adicionais#

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:

Cartão Refeição Eletrônico

Recarga de celular com cartões de débito ou crédito

Pagamento de Benefícios e respectivo estorno

Leitora SmartNet para cartões SmartVR e Sodexho com chip

Correspondente Bancário

Paggo

Débito Digitado

Extrato CB

Consulta Saldo CB

Saque e estorno de saque CB

Depósito e estorno de depósito CB

Recarga de Celular Bradesco

Recarga de Celular Corban SE

Extrato CB

Pagamento e Estorno de DARF

Pagamento e Estorno de GPS

Empréstimo Pré-Aprovado

Abertura de Conta

Troco Premiado (Surpresa)

Vale Gás

Opção Administrativa Redecard

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

Desabilitando transações#

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.

Habilitação de transações de redes específicas#

Existem algumas redes que, por não serem de uso generalizado, não estão automaticamente habilitadas na CliSiTef. Neste caso, para habilitá-las, existe a seção [Redes] no arquivo de configuração CliSiTef.ini e que deve conter o nome da variável correspondente a rede a ser habilitada com o valor 1.

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

Onde xxxx pode ser, na presente versão da CliSiTef, um dos seguintes valores abaixo7.

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

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


A seguir está a tabela que relaciona os tipos de meio de pagamento, configurações e menus, com os respectivos códigos, para serem utilizados nos itens anteriores8.

Tipo do meio de pagamentoCódigo
Consulta ou garantia de Cheque (todos os tipos)10
Consulta Cheque Serasa/Associação Comercial11
Consulta Cheque Tecban12
Telecheque Garantido Tecban13
Garantia Cheque Papel Tecban14
Cartão de débito (todas as combinações) (Descontinuado, não usar)15
Cartão de débito a vista16
Cartão de débito pré-datado17
Cartão de débito parcelado18
Cartão de débito CDC19
Cartão Refeição Eletrônico (Exceto Visanet, neste caso usar 3014)20
Voucher Papel21
Cartão Benefício22
Cartão SmartVR/Sodexho com leitora SmartNet23
Cartão de crédito a vista com juros24
Cartão de crédito (todas as combinações) (Descontinuado, não usar)25
Cartão de crédito a vista26
Cartão de crédito parcelado com financiamento do estabelecimento27
Cartão de crédito parcelado com financiamento da administradora28
Cartão de crédito digitado29
Cartão de crédito magnético30
Pré-autorização31
Cartão Fininvest32
Saque com cartão Fininvest33
Cartão de Crédito Pró-rata a vista34
Cartão de Crédito Pró-rata parcelada35
Consulta parcelas no Cartão de Crédito36
Crédito Cisa37
Saldo/Extrato Cisa38
Cartão Crédito Infocard39
Cancelamento de transação com cartão de crédito ou débito40
Consulta AVS41
Débito Digitado42
Débito Magnético43
Crédito Parcelado44
Private Label Pré-Datado45
Pagamento Dinheiro46
Pagamento Private Label com Cheque47
Paggo48
Garantia Cheque CDL Rio49
Pagamento de Conta50
Estorno de pagamento de conta51
Re-impressão de pagamento de conta52
Pagamento de Benefício53
Estorno do Pagamento de Benefício54
Tratamento de troco no pagamento de contas com dinheiro55
Reimpressão56
Reimpressão do Último Comprovante57
Reimpressão Específica58
Recarga de celular com Dinheiro60
Recarga de celular com Cheque61
Recarga de celular com cartão de débito a vista62
Recarga de celular com cartão de crédito a vista63
Indica o Menu para seleção da operadora de recarga64
Reimpressão do lojista70
Reimpressão do portador do cartão71
Todas as reimpressões72
Crédito Centralizado73
Consulta de Saldo - Corresponde Bancário74
Saque - Corresponde Bancário75
Estorno de Saque - Corresponde Bancário76
Depósito - Corresponde Bancário77
Estorno de Depósito - Corresponde Bancário78
Conta Corrente79
Conta Poupança80
Conta Benefício81
Conta Salário82
Conta Empresa83
Conta Investimento84
Conta Funcionário Viajante85
Consulta de Saldo com Cartão Magnético - Corresponde Bancário86
Consulta de Saldo com Digitação dos Dados da Conta - CB87
Saque de Benefício INSS - Corresponde Bancário88
Saque com Cartão Magnético - Corresponde Bancário89
Saque com Cheque - Corresponde Bancário90
Saque com Recibo de Retirada - Corresponde Bancário91
Estorno de Saque de Benefício INSS - Corresponde Bancário92
Estorno de Saque com Cheque - Corresponde Bancário93
Estorno de Saque com Recibo de Retirada - Corresponde Bancário94
Estorno de Depósito com Dinheiro - Corresponde Bancário95
Estorno de Depósito com Cheque - Corresponde Bancário96
Estorno de Depósito com Dinheiro + Cheque – CB97
Consulta Cheque SPC Brasil98
Garantia Cheque SPC Brasil99
Tipo Conta: FAL3000
Tipo Conta: Pontos3001
SCCard3002
Consulta Saldo Débito3003
Consulta Saldo Crédito3004
Recarga de Celular Bradesco3005
Reimpressão Específica Redecard3006
Reimpressão Específica Visanet3007
Troco Surpresa (Premiado)3008
Pagamento em dinheiro3009
Pagamento CB em cheque3010
Pagamento com TEF Débito3011
Pagamento com TEF Crédito3012
Pagamento em outra forma3013
Produtos de Vales da Cielo3014
ValeGás3015
ValeGás Ultragaz3016
ValeGás GetNet3017
Pagamento de Conta Orbitall3018
Estorno de pagamento de Conta Orbitall3019
Cartão Combustível3020
Cartão Combustível Digitado3021
Cartão Combustível Magnético3022
Cartão Débito Pré-Pago3023
Consulta Saldo Cartão Débito Pré-Pago3024
Cartão Crédito Código em Barras3025
Cartão Presente3026
Opção Administrativa Redecard3027
Cartão Presente Magnético3028
Cartão Presente Digitado3029
Cartão Presente Código em Barras3030
Opção Compra e Saque Redecard3031
Pagamento de Fatura3032
Pagamento de Convênio3033
Saque Banco IBI3034
Estorno de Saque Banco IBI3035
Pagamento de Fatura Banco IBI3036
Estorno de Pagamento de Fatura Banco IBI3037
Saldo SPTrans3038
Recarga SPTrans3039
Garantia Cheque Infocard3040
Estorno Garantia Cheque Infocard3041
Garantia Cheque CDL-Poa3042
Extrato3043
Extrato Magnético3044
Extrato Digitado3045
Recarga Corban SE3046
Saque Crédito3047
Estorno de Saque Crédito3048
Consultas de Cartão de Crédito3049
Extrato Cartão de Crédito3050
Saldo Convênio Crédito3051
Consulta Liberação de Cartão Crédito3052
Consulta Última Fatura de Cartão Crédito3053
Altera Senha de Cartão Crédito3054
Libera Cartão de Crédito3055
Produtos SPTrans3056
DARF3057
GPS3058
DARF Simples3059
DARF Preto3060
Estorno DARF3061
Estorno GPS3062
Empréstimo Pré-Aprovado3063
Empréstimo Pré-Aprovado Magnético3064
Empréstimo Pré-Aprovado Digitado3065
Abertura de Conta3066
Conta Individual3067
Conta Conjunta E / OU3068
Conta Conjunta E (Solidária)3069
Pagamento de Conta Infocard3070
Estorno de Pagamento de Conta Infocard3071
Pagamento de Conta Banrisul3072
Pagamento de Conta Central Card3073
Pagamento de Conta Portal Card3074
Pagamento de Conta Softway3075
Pagamento de Conta Parati3076
Pagamento de Conta Ediguay3077
Pagamento de Conta CooperCred3078
Pagamento de Conta Validata3079
Pagamento de Conta Panamericano3080
Pagamento de Conta SigaCred3081
Pagamento de Conta UseCred3082
Pagamento de Conta SisCred3083
Pagamento de Conta Fininvest (Menu principal)3084
Estorno de Pagamento de Conta Banrisul3085
Estorno de Pagamento de Conta Fininvest3086
Estorno de Pagamento de Conta Central Card3087
Estorno de Pagamento de Conta Portal Card3088
Estorno de Pagamento de Conta Softway3089
Estorno de Pagamento de Conta Ediguay3090
Estorno de Pagamento de Conta CooperCred3091
Estorno de Pagamento de Conta Panamericano3092
Estorno de Pagamento de Conta SigaCred3093
Estorno de Pagamento de Conta UseCred3094
Estorno de Pagamento de Conta SisCred3095
Repasse CB3096
Administrativo CB3097
Administrativo CB Banrisul3098
Pagamento de Conta Cartão EMS3099
Estorno de Pagamento de Conta Cartão EMS3100
Código Resumido EMS3101
Código de Barras do Carnê3102
Digitação do Dados do Carnê3103
Menu de Consultas EMS3104
Consulta Rápida EMS3105
Consulta Extrato EMS3106
Consulta Milhas EMS3107
Consulta Mini-Extrato EMS3108
Registro de Ocorrência EMS3109
Registro de Cancelamento de Ocorrência EMS3110
Inclusão de Cliente EMS3111
Alteração de Dados Cadastrais Cliente EMS3112
Consulta Dados Cadastrais Cliente EMS3113
Transação EMS por Cartão Magnético3114
Transação EMS por Digitação do Cartão3115
Transação EMS por Digitação do CPF3116
Extrato EMS Parcial3117
Extrato EMS Total3118
Sexo Masculino3119
Sexo Feminino3120
Menus de Vendas EMS3121
Venda Cartão EMS3122
Venda EMS Outros Meio de Pagamento3123
Venda EMS A Vista3124
Venda EMS Parcelada Sem Juros3125
Venda EMS Parcelada Com Juros3126
Venda Normal EMS3127
Venda Forçada EMS3128
Compra EMS Vinculada a Lista de Presentes3129
Compra EMS Outros Vínculos3130
Venda EMS - Dinheiro3131
Venda EMS - Cheque a Vista3132
Venda EMS - Cheque Pré3133
Venda EMS – Cartão de Débito3134
Venda EMS – Cartão de Crédito3135
Venda EMS – Ticket3136
Venda EMS – Cheque Administrativo3137
Venda EMS – Traveller Check3138
Venda EMS – Desconto em Folha3139
Venda EMS – Vale3140
Venda EMS - Milhas3141
Venda EMS - Debito em folha3142
Venda EMS – Voucher3143
Venda EMS – Cartão Presente3144
Venda EMS – Private Label3145
Venda Rotativo A Vista Fininvest3160
Venda Rotativo Pré-Datado Fininvest3161
Venda Parcelado Fininvest3162
Venda Parcelado Pré-Datado Fininvest3163
Saque Rotativo Fininvest3164
Saque Parcelado Fininvest3165
Consulta Saque Fininvest3166
Saque Fininvest3167
Boleto Bancário3168
Contrato3169
Pagamento de Conta Fininvest3170
Pagamento de Fatura Fininvest3171
Documento Provincial3172
Documento Não Provincial3173
Com Provimillhas3174
Sem Provimilhas3175
Débito Parcelas Iguais3176
Consulta Cheque Banco Provincial3177
Consulta Cheque BOD3178
Garantia Cheque Banco Mercantil3179
Consulta Cheque Consorcio Venezuela3180
Fechamento do Lote Atual Banco Mercantil3181
Fechamento de Lote Especifico Banco Mercantil3182
Ajuste de Compra3183
Ajuste de Compra Débito3184
Ajuste de Compra Crédito3185
Consulta Totais de Compra Banco Provincial3186
Consulta Totais A Pagar Banco Provincial3187
Consulta Estado Lote Banco Provincial3188
Fechamento de Lote Banco Provincial3189
Fechamento de Lote BOD3190
Fechamento de Lote Banco Mercantil3191
Vale Refeição (Exceto Visanet)3192
Vale Alimentação (Exceto Visanet)3193
Venda Milhagem CooperCred3194
Cancelamento de Venda Milhagem CooperCred3195
Consulta de Saldo Cisa3196
Consulta de Extrato Cisa3197
Consulta de Saldo Softway3198
Saque Softway3199
Cancelamento de Saque Softway3200
Carga de Pré-Pago3201
Cancelamento de Carga de Pré-Cargo3202
Executa Teste de Comunicação3203
Transações de Correspondente Bancário3204
Transações de Recarga de Celular3205
Transações SPTrans3206
SCCard3207
Provedor Wappa3208
Abertura de Caixa CB3209
Fechamento de Caixa CB3210
Sangria de Caixa CB3211
Menu cartão Condor3212
Opção crédito parcelado simples3213
Pagamento cartão Condor3214
Estorno pagamento cartão Condor3215
Consulta extrato Condor3216
Cancelamento Parcele mais3217
Menu Starfiche3218
Menu saque CB Banrisul3219
Pagamento de conta UP SIGHT3220
Estorno de Pagamento de conta UP SIGHT3221
Menu opção NTPC3222
Menu NTPC3223
Pagamento com saque3224
Recarga de celular com saque3225
Troca de Senha Supervisor PinPad3226
Menu Crédito CDC3227
Opção conta pessoa jurídica3228
Pagamento de conta rede MAR3229
Estorno pagamento de conta rede MAR3230
Pagamento de conta rede iCards3231
Estorno de pagamento de conta rede iCards3232
Menu opção Liberação Crédito Coopercred3236
Menu opção Liberação Débito Coopercred3237
Menu opção Recarga Débito Digitado Coopercred3238
Menu opção Recarga Débito Magnético Coopercred3239
Menu opção crédito a vista Resgate Pontos3261
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 à vista3267
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 Qualicard3276
Menu estorno de pagamento de conta Qualicard3277
Menu de autorização genérica SEM3278
Menu pagamento de conta rede Avista3279
Menu cartão virtual Formosa3280
Menu pagamento de contas Neus3281
Menu estorno de pagamento de contas Neus3282
Menu pagamento de contas Algorix3283
Menu estorno de pagamento de contas Algorix3284
Menu carga de cartão presente Algorix3285
Menu de cancelamento de carga de cartão presente Algorix3286
Menu venda crédito CompreMax3287
Menu cancelamento CompreMax3288
Menu cancelamento Cartão Combustível3289
Menu pagamento de contas SysData3296
Menu estorno de pagamento de contas SysData3297
Menu consulta de pagamento Validata3298
Menu pagamento recarga SPTrans (Menu gerencial)3299
Menu pagamento de conta SQCF3303
Menu cancelamento de pagamento de conta SQCF3304
Menu cartão Qualidade (ICI Card)3305
Menu opção Saque Crédito Transferência3306
Menu opção Cancelamento Saque Crédito Transferência3307
Menu saque GetNet3319
Menu estorno de saque GetNet3320
Resgate Plataforma Promocional (Cielo)3323
Menu conta especial3324
Menu conta fidelidade3325
Menu outra conta3326
Menu fechamento de lote Platco3327
Menu registro de gorjeta3328
Menu consulta última venda3329
Menu garantia de cheque Platco3330
Menu devolução Platco3331
Menu pagamento recarga SPTrans (Menu específico)3334
Menu Pagamento Conta FoxWin Cards3335
Menu estorno de Pagamento Conta FoxWin Cards3336
Menu Pagamento Conta HotCard3337
Menu estorno de Pagamento Conta HotCard3338
Menu Adm Gift3339
Consulta Saldo de Cartão Gift3340
Recarga de Cartão Gift3341
Cancelamento de Recarga de Cartão Gift3342
Venda com Cartão Gift3343
Cancelamento de Venda com Cartão Gift3344
Menu Cancelamento Gift3345
Tipo de conta FAL3346
Tipo de conta principal3347
Menu Emissão de Pontos3348
Menu Cancelamento de Emissão de Pontos3349
Menu Resgate de Pontos3350
Menu Cancelamento de Resgate de Pontos (não usado ainda)3351
Menu Opcão Cartão Pré Pago Digitado3352
Menu Pagamento TriCard3353
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 CB3367
Menu de Transferência de Contas – CB3368
Menu Revalidação de Senha INSS – CB3369
Menu Depósito Identificado – CB3370
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
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érico3379
Menu opção Pré Autorização Cartão Combustível3389
Menu Ativação Gift3390
Menu Pagamento Dinheiro – Ativação Gift3391
Menu Pagamento Cheque – Ativação Gift3392
Menu Pagamento Cartão Débito – Ativação Gift3393
Menu Pagamento Cartão Crédito – Ativação Gift3394
Menu Pagamento ClubCard3407
Menu Estorno Pagamento ClubCard3408
Menu Pagamento Citibank3409
Menu opção Cartão Porto Seguro Auto Magnético3410
Menu opção Cartão Porto Seguro Auto Digitado3411
Menu Saque ClubCard3412
Menu Pagamento CredMais3466
Menu Consulta parcelas crédito3480
Menu Estorno Pagto. Contas Banco Ibi3500
Menu Cartao Eletrozema3510
Menu Cancelamento Cartao Eletrozema3511
Menu Consulta Eletrozema3512
Menu Cancelamento de Pagamento de Fatura genérico3515
Cartão EGift (Hug)3517
Menu Alteração de Pré-Autorização3519
Menu formas de pagamento para pagamento de cartão Siscred3530
Saque Gift3553
Cancelamento de saque Gift3554
Cancelamento de ativação Gift3556
Carga de tabelas no pinpad3624
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 Outros3675
Menu Administrativo WayUp3700
Acúmulo de Pontos WayUp3701
Resgate de Pontos WayUp3702
Consulta Saque WayUp3703
Prospecção de Portador WayUp3704
Menu de Cancelamentos WayUp3705
Cancelamento de Acúmulo WayUp3706
Cancelamento de Resgate WayUp3707
Menu Código de Barras (Tipo de documento – Débito\Crédito para pagamento de carnê)3720
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 Tricard3742
Menu Recarga de cartão de crédito3744
Menu Cancelamento de recarga de cartão de crédito3745
Menu Consulta Saldo Tricard3746
Menu Recarga de cartão de débito Coopercred3772
Menu Cancelamento de recarga de cartão de débito Coopercred3773
Pagamento em Dinheiro Ultragáz Revenda3900
Pagamento com TEF Crédito Ultragáz Revenda3901
Pagamento com TEF Débito Ultragáz Revenda3902
Menu IATA à Vista3958
Menu IATA Parcelado Estabelecimento3959
Menu IATA Parcelado Administradora3960
Menu Simulação Crediário3989
Menu Outros Cielo4158
Recarga Celular com Carteira Digital4162
Recarga Celular com PIX4163
Menu Venda Crédito Banco Ibi4193
Menu Cancelamento Venda Crédito Banco Ibi4194

Habilitação de configurações especiais por transação#

Em determinadas transações, é possível incluir novas funcionalidades e características ao fluxo transacional, permitindo maior flexibilidade de operação sem que estas funcionalidades não estejam vinculadas a um meio de pagamento específico.

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;}

A seguir, descrevemos as funcionalidades previstas neste campo.

FuncionalidadeDescrição
CodigoCliente=xxxxxxCódigo de cliente de uma determinada loja, limitado a 36 caracteres, a ser vinculado nos relatórios do SiTef Web.
ExecutaAteLeituraCartao=0Se 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=1Este parâmetro informa a CliSiTef que a opção de venda crédito através de 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=1O 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.
OBS: Esta configuração deve ser passada entre chaves ({}) separadamente, ou seja, não deve ser concatenada com nenhuma outra configuração separada por ponto-e-vírgula (;)Os parâmetros A,B,C,D são índices das chaves de criptografia Redecard nos POS’s. Esses parâmetros irão sobrepor os índices das chaves recebidos no serviço 3. Os parâmetros C e D serão implementados somente a partir da versão (4.0.104.1, a confirmar). Se alguma chave não for configurada é preciso passar o parâmetro com valor -1. Exemplo: {MKRede=-1,-1,-1,2} vai configurar somente a chave relativa à criptografia DUKPT 3DES.
A = Índice da master key DES
B = Índice da master key 3DES
C = Índice do registro de tratamento DUKPT DES
D = Índice do registro de tratamento DUKPT 3DES
{MKRedeDados=A,B,C,D}Igual a MKRede (Ver descrição acima),
OBS: Esta configuração deve ser passada entre chaves ({}) separadamente, ou seja, não deve ser concatenada com nenhuma outra configuração separada por ponto-e-vírgula (;)exceto que as chaves de criptografia serão usadas para criptografar trilhas.
NumCartaoCripto=<Cartão criptografado>O fornecimento do campo adicional “NumCartaoCripto”, com o cartão criptografado, desabilita a captura do número do cartão digitado. Este parâmetro depende da correta configuração do arquivo de chaves .cha no servidor SiTef, isto é, com as chaves de criptografia correspondentes.
RedeDestino=nnnnEsta configuração permite forçar que a transação seja realizada por uma rede específica (nnnn = 4 dígitos numéricos). Consulte o item 0 - Transações crédito/débito com cartão sem BIN.
TrataConsultaSaqueComSaque=1Inicialmente projetada para transações do Banco Ibi, este parâmetro permite vincular, em uma única transação, a “Consulta a Saque” e “Saque”.
Caso seja passado este parâmetro, o menu administrativo oferecerá somente a opção “Consulta Saque com Saque”.
TrataPagamentoExtendido=1Esta função informa que o aplicativo da automação está preparado para tratar informações de recebimento a menor (falta saldo a ser recebido com outra forma de pagamento) ou a maior (deve ser devolvido um troco para o cliente).
Esta função também habilita o recebimento dos campos 137 (Saldo a ser pago) e 138 (Valor efetivamente recebido).
ValidadeCartao=<AAMM ou MMAA>A entrega do campo adicional “ValidadeCartao”, com a data de validade do cartão, desabilita a sua captura, porém a utilização do valor passado através do parâmetro adicional é condicionada à passagem bem sucedida do campo “NumCartaoCripto”.
ValorIncluiTaxa=1Este parâmetro informa que o aplicativo da automação incluiu no valor compra o valor da taxa de embarque ou serviço.
Se durante o fluxo de captura for solicitada a taxa, o valor que foi acrescentado à venda deve ser repassado pela automação.
TipoDocFiscal=xIndica o tipo de Documento Fiscal emitido pela “Automação Comercial”.
Onde x:
0 - Cupom Fiscal (Cupom Fiscal - Legado)
1 - NFC-e (Nota Fiscal Consumidor - Eletrônica)
2 – SAT-CF-e (Cupom Fiscal - Eletrônico)
OBS: . Na ausência desta “funcionalidade”, a CliSiTef assume que o “Documento Fiscal” emitido é do tipo ‘0’ (Cupom Fiscal - Legado).
. Qualquer valor de ‘x’ diferente dos definidos, a transação será abortada pela CliSiTef indicando parâmetros inválido.
ChaveAcessoDocFiscal=<Dados da chave>Chave de acesso do Documento Fiscal Eletrônico (tamanho 44 digitos). Necessário informar quando “TipoDocFiscal” for igual a ‘1’ ou ‘2’.
OBS: . Na ausência desta “funcionalidade” para “TipoDocFiscal” igual a ‘1’ ou ‘2’, ou na presença da ”funcionalidade” para “TipoDocFiscal” igual a ‘0’, a transação será abortada pela CliSiTef indicando parâmetros inválidos.
Exemplos:
{TipoDocFiscal=0}
{TipoDocFiscal=1;ChaveAcessoDocFiscal=1111111111222222222233333333334444}
{TipoDocFiscal=2;ChaveAcessoDocFiscal=5555555555666666666677777777778888}
CPFColetado=XXXXXXXXXXXA coleta default do CPF é realizada pelo PinPad, quando solicitado na transação. Caso a automação comercial já o tenha capturado anteriormente, ou já o possua por algum motivo, e não quer que o usuário tenha que digitar novamente o dado no pinpad, deve-se passá-lo via parâmetros adicionais.
Inicialmente previsto para utilização com Carteiras Digitais, surgiu a necessidade de utilização com outros produtos.
Exemplo:
{CPFColetado=99966633300;}
SPLITPAY:Estab1=Valor1
IMPORTANTE: O código de estabelecimento do vendedor principal não deve fazer parte dos estabelecimentos do Split, que deve conter apenas dados dos vendedores secundários.
O código do estabelecimento deve ser um CNPJ válido de no máximo 15 dígitos, e o valor, 12 dígitos, considerando os 2 últimos dígitos como casas decimais. Campos menores serão completados com zeros a esquerda. Campos formatados serão considerados apenas os dígitos. O valor associado é opcional.
O caracter ‘|’ serve de separador quando houver vários conjuntos de dados.
Exemplos:
{SPLITPAY:1222555000101=500|111222111000101=000000001000|111.222.333/0001-01=15,00|111.222.444/0001-01;};

Transações crédito/débito com cartão sem BIN#

Em determinadas transações, em que o aplicativo da automação deseje utilizar um cartão especial (sem BIN definido), é necessário passar algumas restrições, e para isso existem duas formas:

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, Gift, SaqueCredito ou SaqueDebito, 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

Texton=MinhaRede

Reden=nnnn

[CartaoCombustivel]

Texto1=FitCard

Rede1=263

[CartaoGift]

Texto1=Condor

Rede1=174

TextoN=MinhaRede

RedeN=nnnn

[SaqueCredito]

Texto1= Condor

Rede1=174

TextoN=MinhaRede

RedeN=nnnn

[SaqueDebito]

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, 5 redes de gift, 5 redes de SaqueCrédito e 5 redes de SaqueDébito. 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, gift, SaqueCredito ou SaqueDebito em que é realizada a consulta de bins.

Além disso, é necessário definir se a rede em questão permite a captura do cartão através do leitor magnético ou através de digitação, com a configuração das seguintes chaves:

- HabilitaDigitadoN = 1

- HabilitaMagneticoN = 1

Para a seção [CartaoCombustivel] também pode ser habilitada a leitura de código de barras através da configuração abaixo:

- HabilitaCodBarN = 1

Para as transações Gift efetuar as seguintes configurações abaixo para habilitar os seguintes modos de entrada:

- HabilitaDigitadoN: Habilitar o modo de entrada EAN 13.

- HabilitaCodUnitarioGiftN: Habilitar o modo de entrada EAN 128.

- 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

Rede1=172

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

[SaqueCredito]

Texto1= Condor

Rede1=174

TextoN=MinhaRede

RedeN=nnnn

HabilitaDigitadoN=0

HabilitaMagneticoN=1

[SaqueDebito]

Texto1= Condor

Rede1=174

TextoN=MinhaRede

RedeN=nnnn

HabilitaDigitadoN=0

HabilitaMagneticoN=1

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.

Código da RedeNome da Rede
21VeroPay (Vero Débito Digitado)
97Cartesys
172SomarCard
178StarFiche
196Libercard
205GoldenFarma
263FitCard

Habilitação de crédito parcelado quando em um pagamento vinculado#

Por padrão da CliSiTef, uma transação de pagamento de contas/recarga/ativação de cartão Gift que tenha um pagamento vinculado não habilitará a opção de parcelamento por padrão.

No entanto, existe um parâmetro que, [em conjunto com a habilitação no SiTef dessas transações]{.underline}, 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.

Lembrando que somente é possível habilitar o parcelamento para transações de crédito.

IMPORTANTE: Como o parcelamento de transações geralmente tem taxas é importante estudar se para essas transações é vantagem ou não permitir o parcelamento.

Arquivos de controle#

A CliSiTef permite configurar o diretório onde serão gerados os seus arquivos de controle. Essa configuração deve ser feita pelo item DiretorioBase da seção SalvaEstado no arquivo CliSiTef.ini.

No Windows, a pasta padrão utilizada é C:\CliSiTef\ChavesCliSiTef.

No Linux, a pasta padrão é /tmp/ChavesCliSiTef.

[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.

Trace#

A CliSiTef normalmente grava informações em um único arquivo diário, com mecanismo de rotação de logs. Ou seja, arquivos mais antigos são removidos automaticamente.

No Windows, o arquivo é gravado no padrão C:\CliSiTef\CliSiTef.<AAAAMMDD>.dmp.

No Linux, o arquivo é gravado na pasta local, no padrão CliSiTef.<AAAAMMDD>.dmp.

Em equipamentos POS, o arquivo é gravado na pasta local, no padrão TRACE.

Configurando histórico#

No arquivo de configuração "CliSiTef.ini", é possível configurar o número de dias durante os quais o trace será mantido. Por padrão o trace fica habilitado por cinco dias.

[GERAL]

NumeroDeDiasNoLog=n

onde é n é o número de dias. Zero grava indefinidamente.

Observação: esta configuração não é aplicada caso o modo Trace Rotativo esteja habilitado.

Configuração de diretório#

No Windows, a pasta padrão para gravação dos arquivos de trace é C:\CliSiTef.

No Linux, é usada a pasta corrente.

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

Arquivos de trace por terminal#

Para facilitar algumas análises, é possível configurar a CliSiTef para gerar arquivos de trace por terminal (parâmetro IdTerminal da função ConfiguraIntSiTefInterativo).

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

Trace Rotativo#

A partir da versão 4.0.112.45 da CliSiTef, é possível separar cada transação efetuada pela automação em um arquivo de trace próprio.

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.

Neste cenário, os arquivos são gravados na forma:

Transação Windows** Linux e plataformas mobile (e outras plataformas não-POS)Plataformas POS**
1 (mais recente)CliSiTef.dmpTRACE
2CliSiTef.dmp.1TRACE.1
3CliSiTef.dmp.2TRACE.2
......
n (mais antiga)CliSiTef.dmp.n-1TRACE.n-1

A cada nova transação, os arquivos são rotacionados (renomeados), e os arquivos mais antigos são removidos, mantendo a quantidade de arquivos desejada.

Esta opção permite também o envio destes arquivos para o servidor SiTef, desde que este esteja configurado com o módulo NServices.

Habilitando o trace rotativo#

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

Exemplo: armazenar até 10 transações

[CliSiTef]

TraceRotativo=10

Observação: ao habilitar a opção de trace rotativo, a configuração NumeroDeDiasNoLog será desprezada.

Limitando o tamanho dos arquivos#

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.

Por exemplo, para limitar o tamanho de cada arquivo em cerca de 32Kb:

[CliSiTef]

TraceRotativo=10

TamanhoTraceRotativo=32768

Observação: esta limitação de tamanho só é aplicada quando a opção TraceRotativo está habilitada.

Enviando arquivos de trace para o servidor SiTef#

É 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.

Ao habilitar a configuração de trace rotativo, automaticamente será disponibilizada no menu administrativo da clisitef (função 110) a opção "Envio de trace para o servidor SiTef".

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.

FunçãoDescrição
121Envio 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.

Processo de desenvolvimento/homologação#

Arquivo de trace adicional durante a fase de desenvolvimento#

A CliSiTefI possui um mecanismo de auxilio ao desenvolvedor da aplicação que interage com ela de forma a simplificar a busca por problemas durante a fase de desenvolvimento. Esse mecanismo, uma vez habilitado, faz com que seja gerado um arquivo de trace contendo os parâmetros trocados entre a CliSiTef e a aplicação. O arquivo fica localizado no diretório corrente ou em C:\CliSiTef, dependendo se o ambiente for Linux ou Windows, respectivamente. O nome do arquivo é CliSiTef.AAAAMMDD.txt.

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.

Processo de homologação#

Como descrito anteriormente, o fluxo descrito neste documento deve ser seguido a risca para que não ocorram erros estranhos durante a execução da CliSiTef. Para tanto, existe um parâmetro configurável que será utilizado pelos homologadores da Software Express para confirmar que o aplicativo de automação somente concretiza o processo de venda pela impressão de um comprovante ou pela chamada a função FinalizaFuncaoSiTefInterativo após o retorno final da ContinuaFuncaoSiTefInterativo. Esse parâmetro é o seguinte:

[Geral]

EmAmbienteDeHomologacao=1

Por introduzir uma mensagem adicional no processo, ele jamais deverá ser utilizado em ambiente de produção.

Tradução de mensagens#

É possível alterar parte das mensagens enviadas para a automação, para efeitos de tradução ou, em alguns casos, para reduzir as mensagens.

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.

Um exemplo deste arquivo seria:

[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".

Tabelas#

Código das Redes Autorizadoras#

Código das Redes AutorizadorasDescrição
0Outra, não definida
1Tecban
2ITAÚ
3BRADESCO
4Visanet - Especificação 200001
5Redecard
6Amex
7SOLLO
8E CAPTURE
9Serasa
10SPC Brasil
11SERASA DETALHADO
12TELEDATA
13ACSP
14ACSP DETALHADO
15TECBIZ
16CDL DF
17Repom
18STANDBY
19EDMCARD
20CREDICESTA
21Banrisul
22ACC CARD
23Clubcard
24ACPR
25Vidalink
26CCC_WEB
27Ediguay
28Carrefour
29Softway
30Multicheque
31Ticket combustível
32YAMADA
33Citibank
34Infocard
35BESC
36EMS
37CHEQUE CASH
38Central Card
39Drogaraia
40OUTRO SERVIÇO
41Edenred
42EPAY GIFT
43Parati
44TOKORO
45Coopercred
46SERVCEL
47Sorocred
48Vital
49SAX FINANCEIRA
50Formosa
51Hipercard
52Tricard
53CHECK OK
54Policard
55Cetelem Carrefour
56LEADER
57Consórcio Credicard Venezuela
58GAZINCRED
59Telenet
60Cheque Pré
61Brasil Card
62Epharma
63Total
64Consórcio Amex Venezuela
65GAX
66Peralta
67SERVIDOR PAGAMENTO
68BANESE
69RESOMAQ
70Sysdata
71CDL POA
72BIGCARD
73DTRANSFER
74VIAVAREJO
75CHECK EXPRESS
76Givex
77Valecard
78Portal Card
79Banpara
80SOFTNEX
81SUPERCARD
82GetNet
83Prevsaude
84BANCO POTTENCIAL
85SOPHUS
86MARISA 2
87MAXICRED
88BLACKHAWK
89EXPANSIVA
90SAS NT
91LEADER 2
92SOMAR
93CETELEM AURA
94CABAL
95CREDSYSTEM
96Banco Provincial
97CARTESYS
98CISA
99TRNCENTRE
100ACPR D
101CARDCO
102CHECK CHECK
103CADASA
104PRIVATE BRADESCO
105CREDMAIS
106GWCEL
107CHECK EXPRESS 2
108GETNET PBM
109USECRED
110SERV VOUCHER
111TREDENEXX
112Bonus Presente Carrefour
113CREDISHOP
114ESTAPAR
115Banco Ibi
116WORKERCARD
117Telecheque
118OBOE
119PROTEGE
120SERASA CARDS
121Hotcard
122Banco Panamericano
123Banco Mercantil
124Sigacred
125Visanet – Especificação 4.1
126SPTRANS
127PRESENTE MARISA
128COOPLIFE
129BOD
130G CARD
131TCREDIT
132SISCRED
133FOXWINCARDS
134CONVCARD
135Voucher
136EXPAND CARDS
137Ultragaz
138Qualicard
139HSBC UK
140Wappa
141SQCF
142INTELLISYS
143BOD DÉBITO
144ACCREDITO
145COMPROCARD
146ORGCARD
147MINASCRED
148Farmácia Popular
149Fidelidade Mais
150ITAÚ SHOPLINE
151CDL RIO
152FORTCARD
153PAGGO
154SMARTNET
155INTERFARMACIA
156VALECON
157CARTÃO EVANGÉLICO
158VEGASCARD
159SCCARD
160ORBITALL
161ICARDS
162FACILCARD
163FIDELIZE
164FINAMAX
165BANCO GE
166UNIK
167TIVIT
168VALIDATA
169BANESCARD
170CSU CARREFOUR
171VALESHOP
172SOMAR CARD
173OMNION
174CONDOR
175STANDBYDUP
176BPAG BOLDCRON
177MARISA SAX SYSIN
178STARFICHE
179ACE SEGUROS
180TOP CARD
181GETNET LAC
182UP SIGHT
183MAR
184FUNCIONAL CARD
185PHARMA SYSTEM
186MARKET PAY
187SICREDI
188ESCALENA
189N SERVIÇOS
190CSF CARREFOUR
191ATP
192AVST
193ALGORIX
194AMEX EMV
195COMPREMAX
196LIBERCARD
197SEICON
198SERASA AUTORIZ CRÉDITO
199SMARTN
200PLATCO
201SMARTNET EMV
202PROSA MÉXICO
203PEELA
204NUTRIK
205GOLDENFARMA PBM
206GLOBAL PAYMENTS
207ELAVON
208CTF
209BANESTIK
210VISA ARG
211AMEX ARG
212POSNET ARG
213AMEX MÉXICO
214ELETROZEMA
215BARIGUI
216SIMEC
217SGF
218HUG
219CARTÃO CONSIGNUM CARTÃO METTACARD
220DDTOTAL
221CARTÃO QUALIDADE
222REDECONV
223NUTRICARD
224DOTZ
225PREMIAÇÕES RAIZEN
226TROCO SOLIDÁRIO
227AMBEV SÓCIO TORCEDOR
228SEMPRE
229BIN
230COCIPA
231IBI MÉXICO
232SIANET
233SGCARDS
234CIAGROUP
235FILLIP
236CONDUCTOR
237LTM RAIZEN
238INCOMM
239VISA PASS FIRST
240CENCOSUD
241HIPERLIFE
242SITPOS
243AGT
244MIRA
245AMBEV 2 SÓCIO TORCEDOR
246JGV
247CREDSAT
248BRAZILIAN CARD
249RIACHUELO
250ITS RAIZEN
251SIMCRED
252BANCRED CARD
253CONEKTA
254SOFTCARD
255ECOPAG
256C&A AUTOMAÇÃO IBI
257C&A PARCERIAS BRADESCARD
258OGLOBA
259BANESE VOUCHER
260RAPP
261Monitora POS
262SOLLUS
263FITCARD
264ADIANTI
265STONE
266DMCARD
267ICATU 2
268FARMASEG
269BIZ
270SEMPARAR RAIZEN
272PBM GLOBAL
273PAYSMART
275ONEBOX
276CARTO
277WAYUP
296SAFRA
301CTF Frota
303SIPAG

Código da Bandeira#

Abaixo alguns dos valores que podem ser retornados no TipoCampo 132, através da rotina ContinuaFuncaoSiTefInterativo.

A lista completa de códigos de bandeiras está disponível no documento "Bandeira Padrao SiTef.pdf".

Código da BandeiraDescrição
0Outro, não definido
1Visa (Crédito)
2Mastercard (Crédito)
4American Express (Crédito)
11JCB (Crédito)
10014Discovery (Voucher)
20001Maestro (Débito)
20002Visa Electron (Débito)
20137Telenet (Débito)

Plataformas suportadas#

As bibliotecas CliSiTefI e CliSiTef estão disponíveis atualmente para as seguintes plataformas:

Sistema OperacionalAmbientesArquiteturas
WindowsDesktop / EmbarcadoIntel x86 / x64
Windows CEEmbarcado / MobileIntel x86,
ARM 32
Windows PhoneMobileARM 32
Mac OSDesktopIntel x64
LinuxDesktop / EmbarcadoIntel x86 / x64,
ARM 32 (v4, v5tej e v6-Raspberry)
AndroidMobileIntel x86 / x64,
Mips, Mips64,
ARMEABI / ARMEABI-v7a
ARM 32 (v7a),
ARM 64 (v8a)
IOSMobileIntel x86 / x64,
ARM 32 (v7/v7s),
ARM 64 (v8a)

Rotinas descontinuadas#

Rotina AntigaRotina Nova
LeCartaoInterativoLeCartaoSeguro
LeCartaoInterativoALeCartaoSeguroA
LeCartaoDiretoLeCartaoDiretoSeguro
LeCartaoDiretoALeCartaoDiretoSeguroA
LeCartaoDiretoExLeCartaoDiretoSeguro
LeCartaoDiretoExALeCartaoDiretoSeguroA
FinalizaTransacaoSiTefInterativoFinalizaFuncaoSiTefInterativo¹
IniciaFuncaoAASiTefInterativoIniciaFuncaoSiTefInterativo
IniciaFuncaoAASiTefInterativoAIniciaFuncaoSiTefInterativoA

Observações:

1 -- A função FinalizaFuncaoSiTefInterativo recebe um parâmetro a mais que sua antecessora, a FinalizaTransacaoSiTefInterativo (ver item 0). Caso a automação não necessite usar esse parâmetro adicional, o mesmo deve ser passado como vazio/NULL.

Histórico de Alterações#

Versão do DocumentoDataVersão mínima CliSiTefDescrição
26/08/20040.98.z.8Corrigida a documentação dos parâmetros na função LeCartaoDiretoExA
0.98.nv.14Acerto na numeração das versões mínimas e no texto descritivo das funções e correção da versão anterior que NÃO era 0.99
09/09/20041.00.a.4Modificada a forma de numerar as versões. Retornou a forma padrão V.VV[.release]
Incluída a geração de trace não criptografado para ser utilizado em ambiente de desenvolvimento
Incluída as transações CentralCard e InfoCard
09/09/20041.00.a.5Incluído os tipos de campo necessários para tratar a coleta de números de telefone para consulta a cheques
1.00.a.20
19/11/20041.00.a.5Devolução do código em barras cujo pagamento foi aprovado
1.00.a.42
28/12/20051.00.a.5Inclusão do TipoCampo 518 e 519 na tabelas de valores para Tipo Campo.
04/04/20061.00.a.20Inclusão da possibilidade de gerar trace em aberto para auxiliar o desenvolvimento da interface com a CliSiTef
17/08/20061.01.a.138Passou a devolver os NSU do SiTef e do Host Autorizador quando uma transação de recarga for paga com cartão
Passou a devolver o Código da Filial que autorizou a recarga do celular
08/11/2006????Inclusão de novos campos para tratamento do cartão combustível (GoodCard e PortalCard).
15/01/20061.01.c.55Inclusão somente na versão EMV FULL da possibilidade de adição de IP secundário no CLISITEF.INI.
A gravação de trace passa a ser habilitada por padrão e o período de armazenamento é configurável.
17/08/2007Acrescentados códigos de redes autorizadoras à tabela existente.
06/02/20081.01.c.080.1Inclusão do campo tipo 1131 e dos menus 3063,3064,3065.
18/03/20081.01.c.082.1Descrição de configurações especiais no parâmetro ParamAdic.
28/03/20081.01.c.082.2Inclusão do campo tipo 1049.
17/07/20081.01.c.089.1Inclusão de campos para a rede Condor, Starfiche e SEM
01/06/20091.01.c.094.57Inclusão das configurações especiais EMS.
Inclusão dos campos do pagamento de cartão Qualicard.
08/06/20091.01.c.094.63Inclusão autorização genérica EMS.
01/07/20091.01.c.094.71Inclusão da rede Pharma System
23/07/20091.01.c.094.31Inclusão da rede Oboé
23/07/20091.01.c.94.xxInclusão da rede Avista
11/08/20091.01.c.94.xxInclusão do menu venda crédito com autorização à vista
12/08/20091.01.c.94.105Inclusão do cartão virtual Formosa.
20/08/20091.01.c.94.109Inclusão do cartão Neus.
27/08/20091.01.c.94.113Inclusão da rede Algorix
14/09/20091.01.c.94.129Inclusão do PBM Fidelize
30/09/20091.01.c.94.135Inclusão da rede CompreMax
07/10/20091.01.c.94.137Inclusão do cancelamento de cartão combustível genérico
12/01/20101.01.c.94.191Inclusão do campo 537 (código de área da cidade do cheque)
27/01/20101.01.c.94.195Documentação do campo 2054 para o tipo de CDC Crédito.
28/01/20101.01.c.94.201Inclusão da rede SQCF
11/02/20101.01.c.94.207Inclusão da opção Cartão Gridcard
14/06/2010-Reservado o Range de 8000 a 9999 para a tabela de Tipo Campos para a IntPos.dll.
06/07/20101.01.c.94.254Inclusão dos menus de saque/estorno de saque GetNet
06/08/20101.01.c.94.259Inclusão da função Consulta Saque com Saque Banco IBI
21/09/20101.01.c.94.265Alteração da identificação dos campos Código Produto Hopi-Hari (de 2049 para 2120), Descrição Produto Hopi-Hari (de 2050 para 2121), Quantidade Máxima de produtos Hopi-Hari (de 2051 para 2122), Produtos Hopi-Hari (de 2052 para 2123).
21/10/2010Incluído campo 3334 (Pagamento SPTrans) e modalidades 700 e 701 (Oi Paggo)
11/11/20101.01.c.95.13Inclusão do pagamento de fatura/estorno FoxWinCards, menus 3335 e 3336; Inclusão da RedeHabilitadaFoxWinCards.
Inclusão das funções 702 (Pagamento de contas) e 703 (Cancelamento de Pagamento Cartão Benefício).
06/12/2010-Adicionadas descrições dos códigos de erro -43, -50 e -100. Eventos 5011, 5012 e 5013.
28/01/2011-Inclusão do campo 2301.
Criada tabela de Modalidades, para melhor visualização.
18/02/2011Inclusão dos campos 2125 e 2126 (fatura HotCard).
11/05/20114.0.102.3.r1Inclusão dos campos 3337 até 3352.
Inclusão das funções(modalidades) Resgate de Pontos (modalidade 665), Emissao Pontos (667), Cancel. Emissao Pontos (668), 669 (Carga de Pré Pago), 670 (Cancel. Carga de Pré Pago) e 680 (Cons. Saldo Pré Pago)
27/05/20114.0.102.6.r1Parâmetro HabilitaRedeTricard
13/06/20114.0.102.7.r1Inclusão dos campos 3339 a 3345.
Inclusão das funções (modalidades): Venda com Cartão Gift (modalidade 15), Consulta a Saldo Gift (modalidade 152), Cancelamento de Venda com Cartão Gift (modalidade 213), Cancelamento de Recarga de Cartão Gift (modalidade 257) e Recarga de Cartão Gift (modalidade 264).
08/07/20114.0.102.9.r1Inclusão do campo 5501.
12/07/2011-Corrigido o nome da rede InfoCard nas redes habilitadas.
01/08/20114.0.102.10.r1Inclusão da rede TopCard e da transação de Pagamento de Fatura Genérico (3379)
22/09/20114.0.102.12 r1Inclusão do modo “2:”(Digitação do CMC-7) na captura do cheque
25/10/20114.0.102.12 r14Inclusão dos campos 3407 e 3408; Inclusão da Rede ClubCard
15/12/2011-Alteração na descrição do campo 178 que estava errada.
09/05/20124.0.104.6 b6Inclusão do tipo campo 3409; Inclusão da Rede Citibank
14/11/2012-Revisão geral do documento; inclusão de tipos de parâmetro (entrada/saída e valor/referência).
21/12/20124.0.106.18 r1Parâmetro HabilitaRedeDotz
02/01/20134.0.106.18 r1Inclusão da descrição dos campos 1 e 2, além do detalhamento do campo 100.
18/01/20134.0.106.18 r1Inclusão da modalidade 420, do tipo campo 2355 e alteração no texto do campo 1122.
26/02/20134.0.106.20 r1Inclusão do parâmetro ConexaoObrigatoria na seção “SiTef”
06/03/2013-Inclusão do tipo campo 5050 na tabela de eventos.
13/03/2013-v119 - Revisão editorial do item Informações do PinPad, e do campo 2355.
Incluído esclarecimentos sobre o processo de Descarregamento de Mensagens.
29/04/2013-v120 – Correção na descrição de campos específicos ACSP que são retornados em outras redes, tornando-os genéricos.
14/06/2013-v121 – Inclusão do tipo campo 2362 e retificação do tipo campo 131 da Tabela de valores
17/09/2013-v122 – Correção na descrição do TipoCampo 112.
(Gift) Incluídos os campos 3553, 3554 e 3557 na tabela de opções de menu (5.7)
02/10/2013-v123 - Retificação do campo para Cancelamento de ativação Gift.
18/10/2013-v124 – Revisão do item LeCartaoDireto.
02/01/2014-v125 – Incluso referência para documento de Tabela de Tradução.
13/01/2014-v127 – Movida configurações entre clisitef e sitef do documento “Configurações Especiais”, agora extinto.
Observação sobre a necessidade de chamar a rotina ConfiguraIntSiTefInterativo(Ex).
Incluídas funções 770, 771 e 772 para carga de tabelas de pinpad.
Incluída função 775 (informações do pinpad)
29/01/20144.0.111.3 r1v128 – Incluída a configuração de porta de pinpad ‘AUTO_USB’ para plataforma Windows.
11/02/20144.0.111.4 r1Inclusão da rede Consignum
27/02/2014-Atualizada descrição do campo 3014.
02/04/2014Atualizados códigos de erro retornados pelas rotinas.
03/04/2014Inclusão do campo 2369 (Brazilian Card).
09/04/2014Inclusão da descrição para o campo 205x e diferenciação deste com o campo 203x, pois ambos se tratam de campos referentes a Hash.
14/05/2014Alteração na descrição do Tipo Campo 1190 de Embosso Gol Off-Line para Embosso (4 últimos dígitos) do cartão.
10/06/2014Alteração na descrição do Tipo Campo 110.
17/06/2014Atualização da Tabela de Código das Redes Autorizadoras.
23/06/20144.0.111.16 r1Mudança na configuração de HabilitaRedeConsignum para HabilitaRedeMettacard, pois o autorizador Consignum passa a se chamar Mettacard.
22/07/2014Incluídas funções LeTrilhaChipInterativo e derivações ASCII
18/08/20144.0.111.18 r1Alteração na descrição do item 4.1.1 para configuração do pinpad para reconhecimento automático de porta USB. Antes da versão 4.0.111.18 r1, era habilitada apenas para Windows. A partir desta versão permite também a configuração para Linux 32, a partir do kernel 2.6.
21/08/2014Inclusão do Tipo Campo 1321.
28/08/2014- Inclusão de configuração para realizar transações com cartão combustível forçando a rede (por exemplo FitCard).
- Inclusão do retorno -21 para possíveis códigos de retorno. Item 3.2.1.
05/09/2014Inclusão dos Tipo Campos 3270, 3271 e 3272 que são opções de menu para TrnCentre PBM.
11/09/2014Atualização da lista de redes habilitadas.
23/09/2014Detalhamento das funções/modalidades 10 e 11 incluindo a informação que são especifica para rede Wappa.
16/10/2014Removidos campos legados 141 e 142.
29/10/2014Incluídas as modalidades/funções 675 e 676.
31/10/2014Inclusão das rotinas LeCartaoDiretoSeguroEx e LeCartaoDiretoSeguroExA.
28/11/2014Atualizada descrição do campo 731.
24/02/2015Inclusão do menu reimpressão especifico outros 3675.
26/03/20154.0.112.26 r1Inclusão da modalidade 658 para poder efetuar a transação de Saque Crédito de forma direta.
Inclusão na tabela de eventos os campos 5027, 5028, 5029, 5030, 5031, 5036, 5037, 5038, 5039, 5040, 5041, 5042, 5043, 5044.
09/04/2015Inclusão dos campos 587 e 588, serão retornados nas transações de recarga.
15/04/2015Inclusão da modalidade de pagamento Cartão Fidelidade ao TipoCanpo 100.
27/05/2015Inclusão dos códigos de menus 3624, 3625 e 3626.
Inclusão do item 3.18 Carga de Tabelas no PinPad sem alteração na Automação;
Inclusão do item 4.1.2 Configuração quando a Automação não utilizar pinpad;
Inclusão do item 4.2.7 Como passar um novo valor da compra da transação na CliSiTef
29/05/2015Inclusão do item 4.1.3 Configuração de um segundo pinpad
27/08/2015Esclarecimento para o item 3.4, Confirmação ou Não do Pagamento. A confirmação da transação deve possuir mesmo número de cupom fiscal e mesma data da transação realizada para ser confirmada com sucesso.
14/09/20154.0.112.42 r1- Inclusão de configuração para realizar transações com cartão Gift forçando a rede (por exemplo Condor).
01/10/2015- Inclusão dos campos 2467, 2468 e 2469.
19/10/2015- Inclusão tópico Prefixo Especifico Enviado pela Automação
10/11/20154.0.112.45 r1Observações adicionais para definição da pasta de armazenamento de arquivos de controle.
Inclusão das configurações para trace rotativo.
11/11/2015- Inclusão tópico Plataformas Suportadas.
02/12/2015Alteração da descrição dos campos 3720, 3721, 3722, 3723
10/12/2015Atualizado transação Cartão Presente - Modalidade 262 , uso exclusivo do Carrefour.
14/12/2015Alteração no tamanho máximo para o campo 134 de 15 para 20.
14/01/2016Inclusão do tipocampo 2470 e do item 4.2.8 Ponto flutuante
21/01/2016Inclusão do formato da data de vencimento do catão (AAMM) retornado pela rotina LeCartaoDiretoSeguro.
03/02/2016Retificação no item Como a automação informa à CliSiTef que sabe tratar campos com ponto flutuante.
05/02/2016Alteração no item Como a automação informa à CliSiTef que sabe tratar campos com ponto flutuante
24/02/2016Incluído “Observação” no tratamento do comando 23 (item 3.3.1)
09/03/2016Inclusão de: Menu Cancelamento Saque Crédito Transferência (3307) , Menu opção crédito a vista Resgate Pontos (3261) e campo Número Autorização NFCE (952).
22/03/2016Inclusão da função FinalizaFuncaoSiTefInterativo em detrimento à FinalizaTransacaoSiTefInterativo; adicionada explicação sobre os parâmetros adicionais da primeira.
24/03/2016Alteração na descrição do campo IdTerminal da função ConfiguraIntSiTefInterativo incluindo observações importantes.
05/04/2016Tornados obsoletos os TipoCampo 596 e 596.
15/0/20164.0.113.12.r2Inclusão das modalidades 117 – Ajuste de pré autorização e 118 -Consulta de pré autorização.
14/06/2016Atualização item 5.6. Incluido transações Cielo(3323, 3653, 3654 e 3655)
19/08/2016Atualização 5.7, melhorando a descrição da configuração CodigoCliente.
31/09/2016Alterações ref. implementação das modalidades abaixo:
- Modalidades:
430 – Le Cartão Seguro (LeCartaoSeguro)
431 – Le Trilha Chip Seguro (LeTrilhaChipEx)
- Adicionado “Obervação” no item:
3.8 Leitura do cartão - rotinas de captura segura
- Inclusão de campos:
CAMPO_MENSAGEM_PINPAD 2601
CAMPO_SEMENTE_HASH 2602
CAMPO_MODALIDADE_LECARTAO_SEGURO 2603
02/09/2016Inclusão da modalidade 354 Ultragaz Revenda, Menus 3900, 3901, 3902. Tipo Campo 4076 (Identificação Loja).
27/09/20165.0.114.6 r1. Inclusão da Modalidade para Adesão de Seguro - 422.
. Inclusão dos Tipo Campos 3742 (Menu Adesão de Seguro Tricard) e 3746 (Menu Consulta de Saldo Tricard).
10/10/2016Inclusão dos parâmetros que habilitam o pagamento parcelado em transações que tem pagamento vinculado
07/11/2016. Inclusão da modalidade 908 (alteração de senha débito combustível).
11/11/20165.0.114.13 r1Inclusão dos menus 3744 (Recarga de cartão de crédito) e 3745 (Cancelamento de recarga de cartão de crédito).
6.1.114.13 r1Inclusão das funções 899 (Recarga de cartão de crédito) e 900 (Cancelamento de recarga de cartão de crédito).
09/01/2017Inserção dos “Tipo Campos” para tratamento do boleto registrado:
- 4095 CPF/CNPJ Cedente;
- 4096 CPF/CNPJ Sacador;
- 4097 CPF/CNPJ Pagador.
17/02/2017Ampliado tamanho do campo de retorno da trilha2 na LeCartaoSeguro*, de 64 para 80.
04/04/2017Inclusão de modalidade e menu da transação de alteração de pré- autorização.
04/04/2017Inclusão de PRÉ-REQUISITO IMPERATIVO APÓS A INSTALAÇÃO DO ARQUIVO .CHA NO SITEF no item 3.8 Leitura do cartão - rotinas de captura segura.
05/04/2017Retificação na observação PRÉ-REQUISITO IMPERATIVO APÓS A INSTALAÇÃO DO ARQUIVO .CHA NO SITEF no item 3.8 Leitura do cartão - rotinas de captura segura.
27/04/2017Inclusão do Tipo Campo 4058
24/05/2017Inclusão de configuração para Débito Digitado da Vero (VeroPay) no item 5.8.
25/05/2017No item 1.1 Descrição Resumida Passo inicial A regra de formatação da identificação do terminal duas letras + 000 + número do Terminal de Vendas não é mais obrigatória
06/06/2017No item 5.7, funcionalidade “CodigoCliente”, mudada a quantidade de dígitos permitida para o campo de 31 para 32 dígitos. Para tanto haverá uma alteração no gerpdv. Não há alteração na CliSiTef.
09/06/2017Inclusão de lista de pinpads que suportam configuração AUTO_USB no Item “4.1.1 Configuração da porta”.
22/06/2017Incluído erro “-13” e observação na função IniciaFuncaoSiTefInterativo sobre substituição dos dados de vendas atual quando se inicia uma nova transação.
12/07/20175.0.114.31 r1Atualização referente “Documento Fiscal Eletronico”
6.1.114.31 r1Inclusão do item:
3.2.3 Parâmetros Adicionais
Atualização dos itens:
3.1.1 Configurações especiais gerais
3.11 Correspondente Bancário (Pagamento de Contas)
5.7 Habilitação de configurações especiais por transação
08/08/2017Revisão editorial
09/08/2017No item 6.11 (antigo item 5.7), funcionalidade “CodigoCliente”, mudada a quantidade de dígitos permitida para o campo de 31 para 36 dígitos. Não houve alteração na CliSiTef. Há a necessidade do gerpdv estar com a versão mínima 5.0.0.30/6.1.3.30 (de 04/08/2017) que foi a versão aonde houve a alteração para aceitar os 36 dígitos do Código do Cliente. Além disto, o SiTef Web também deve estar atualizado para exibição correta do campo com 36 dígitos.
18/08/2017Editado o nome do TipoCampo 4095 de Cedente para Beneficiário.
23/08/2017Inserido Modalidade 928 – Cancelamento de Pagamento de Carnê Débito Rede Forçada.
25/08/2017Movido códigos de campo para documentos específicos: ACSP, Aura, Conductor/Softway, SmartNet, Ticket Car, Recarga de Celular Pré-pago
10/11/2017Atualização da tabela de eventos
14/11/2017Tornadas obsoletas as funções de Auto-Atendimento IniciaFuncaoAASiTefInterativo e IniciaFuncaoAASiTefInterativoA.
14/11/20176.1.114.40 r1Alteração no tratamento de confirmações, permitindo consulta de pendências em documentos fiscais anteriores.
Adicionadas modalidades 130 (consulta de todas as pendências no terminal) e 131 (consulta de pendências em um documento fiscal específico).
TipoCampo 210 – Quantidade de transações pendentes no terminal
TipoCampo 211 – Código de “Funcao” da transação.
10/01/2018Incluído comentário no campo 2355
23/01/2018Alterado a referência ao nome HSBC para Corban SE
26/03/2018Melhoria nas explicações sobre restrições de formas de pagamento.
02/04/2018Inclusão dos Menus IATA (à vista, parcelado estab e parcelado admin)
15/06/2018Inclusão dos tipos 3 e 4 no ParmsClient
27/06/2018Alteração na informação da porta do Pinpad
25/07/2018Inclusão da função FinalizaFuncaoSiTefInterativoA
04/09/2018Detalhamento do campo 2090 (tipo do cartão lido) incluindo informações adicionais sobre cartões sem contato e aplicativos NFC.
03/10/2018Maior detalhamento dos campos: 161, Toda a faixa de 800 a 849, 950, 951,953, 1002, 1003, 2364, 4100, 5049 e 5074.
12/12/2018Inclusão de observação sobre o campo 2124 (Valor da Tarifa de Recarga de Celular).
17/12/2018Removida descrição de exclusividade do TipoCampo 2321 (Código do Cliente) para CorBan. O TipoCampo já estava em uso pelas modalidades não CorBan 19, 29 e 782.
21/01/2019Criado 3 novos campos para indicar se os cupons Cliente/Estabelecimento estarão disponíveis para serem consultados, ou reimpressos, via retaguarda, e a quantidade de dias que eles serão armazenados
(utilizado primeiramente pela Drogaria São Paulo)
12/03/2019Inclusão da modalidade 17 (Crédito para pagamento de carnê) e o campo 2363 (indica que foi efetuada uma transação de Crédito para Pagamento de Carnê).
10/05/2019Inclusão dos campos 3772, 3773, 3774 e 4077
23/05/2019Inclusão dos PinPads: Gertec PPC930, Ingenico Lane3000 e VERIFONE P200 na lista de pinpads que suportam configuração AUTO_USB
05/06/2019Inclusão dos campos 2925 e 2965
07/06/2019Inclusão do campo 3152: Pagamento de Conta Senff com Troco (antigo:Parati)
18/06/20196.2.115.30 r1Exclusão do campo 3152: Pagamento de Conta Senff com Troco (antigo:Parati).
A solução foi refeita da seguinte forma: Criada chave HabilitaColetaFormaPagSenff na seção [PagamentoFaturaGenerico] - quando ligada será tratado o troco.
26/06/2019Inclusão do código 05 (Crediário) na descrição do TipoCampo (100).
11/07/2019Exclusão do campo 3774; campos 3772 e 3773 passaram a ser exclusivos da Rede Coopercred; incluídos 3236, 3237, 3238 e 3239
16/07/2019Alteração do documento: item 11.2.
- Referencia ao documento “Bandeira Padrao SiTef.pdf”.
23/07/20196.2.115.31 r4Incluído descrição do parâmetro adicional “CPFColetado” na seção 6.7.
Inicialmente previsto para utilização nas transações com Carteiras Digitais, surgiu a necessidade de utilização nas transações com outros produtos
30/072019Incluído descrição do tipoCampo 2699, utilizado pelo módulo SQCF. Indica se a transação é uma Ativação/Recarga Gift.
02/08/2019Inclusão dos menus 3988 e 3989.
VRS 22808/10/20196.2.115.35.r1Inclusão configuração 3989 e alterada rede Neus para Market Pay.
VRS 22903/02/2020Adequação na quantidade máxima de endereços de servidor permitidos para 4.
VRS 23021/02/2020·       Passou a ser relevante informar HoraFiscal na chamada da função IniciaFuncaoSiTefInterativo.
·       Incluso detalhes e mais informações sobre a necessidade do cupomFiscal ser um número crescente.
VRS 231 e 23209/03/20207.0.116.5.r1Alterada seção 6.8 - Transações crédito/débito com cartão sem BIN. Criação de [SaqueCredito] e [SaqueDebito].
Na versão 232 foram realizados ajustes no texto referente as alterações descritas acima.
VRS 23327/03/2020Criado parâmetro adicional para indicar divisão de pagamento entre cinco empresas no máximo. Alterado item 6.7 - Habilitação de configurações especiais por transação.
VRS 23403/04/2020Correção do código de retorno -43 quando ocorre algum erro nas rotinas de PIN pad ( foi apagado)
Adicionado a versão mínima de CliSiTef para P200 com AUTO_USB
Algumas formatações de tabelas e algumas correções de ortografia.
VRS 23527/04/2020Inclusão do código de menu 3481.
VRS 23626/05/2020Inclusão código rede Autorizadora SAFRA (296) e SIPAG (303). Alterada descrição do código 296 de FIRST DATA para BIN
VRS 23703/09/20207.0.116.17.r2Inclusão do campo 4158, possibilitando restringir essa opção do menu Administrativo.
VRS 23803/09/2020Inclusão da descrição dos campos 2974,2975,2976.
VRS 23927/10/2020Documentação da modalidade 698 (Saque Débito)
VRS 24003/05/2021Atualização do item 5.4.3 da descrição dos campos 731 e 732, incluindo novos Ids para o prefixo NFPAG. Motivação principal: informação nas transações para Pix e Carteiras Digitais.
VRS 24114/05/2021Inclusão da descrição das rotinas LeTeclaPinPad e EscreveMensagemPinPad.
VRS 24221/05/20217.0.117.11.r1Inclusão de novas formas de pagamentos no item “6.6 Tabela de códigos de meios de pagamento, configurações e menus”: 4162 e 4163.
VRS 24305/08/2021Inclusão de opção de menu no item “6.6 Tabela de códigos de meios de pagamento, configurações e menus”.
- 4192 : Habilita opção “Bradescard Parcerias” no menu de cancelamento de venda crédito.
VRS 24403/09/2021Inclusão de opção de menu no item “6.6 Tabela de códigos de meios de pagamento, configurações e menus”.
- 4193 : Habilita opção “Banco Ibi” no menu de venda crédito.
- 4194 : Habilita opção “Banco Ibi” no menu de Cancelamento de venda crédito.
VRS 24521/09/2021Removido a opção de menu no item “6.6 Tabela de códigos de meios de pagamento, configurações e menus”.
- 4192 : Habilita opção “Bradescard Parcerias” no menu de cancelamento de venda crédito. Esta opção não deve ser utilizada (Foi cancelada).
VRS 24608/01/2021Inclusão dos códigos de funções 943 e 944.
VRS 24708/11/2021Correção na descrição do prefixo SPLITPAY
VRS 24801/02/20227.0.117.41.r3Inclusão das modalidades diretas para se transacionar diretamente com o cartão Qualidade (ICI Card): 28 (Venda) e 101 (Cancelamento).

  1. Consulte documentos de produtos específicos para outros códigos de função
  2. Consulte o item 5.11 - Informações do PinPad para maiores informações.
  3. Consulte o item 5.12 - Carga de Tabelas no PinPad para maiores informações.
  4. Consulte documentos de produtos específicos para outros códigos de campo.
  5. Consulte documentos de produtos específicos para outros códigos de redes
  6. Consulte documentos de produtos específicos para outros códigos de restrições