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âmetro | Tipo | Interface padrão | Interface ASCII | Descrição |
---|---|---|---|---|
Resultado | Saída, por valor | Não usado | Fixo 6 | Contém o resultado de resposta à chamada da rotina. |
Funcao | Entrada, por valor | int | Fixo 6 | Seleciona a forma de pagamento, conforme a tabela “Códigos de Funções” a seguir. |
Valor | Entrada, por valor | char * | Variável | Conté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. |
CupomFiscal | Entrada, por valor | char * | Máx. 20 | Nú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. |
DataFiscal | Entrada, por valor | char * | Fixo 8 | Data Fiscal no formato AAAAMMDD |
HoraFiscal | Entrada, por valor | char * | Fixo 6 | Horário Fiscal no formato HHMMSS |
Operador | Entrada, por valor | char * | Máx. 20 | Identificação do operador de caixa |
ParamAdic | Entrada, por valor | char * | Variável | Parâ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 |
Produtos | Entrada, por valor | char * | Variável | Conté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.