Desenvolvimento - Delphi

Passos para Homologação - Transferência Eletrônica parte 2

Configuração e comunicação do TEF Dedicado com a nossa aplicação, integrando-a com a DLL CLISITEF, e fazendo as primeiras comunicações exigidas para o roteiro de homologação. Criação de uma unit para as funções da dll, e um arquivo .ini para configurar a comunição com a Sitef.

por Luiz Coelho



          Para quem leu o Primeiro Artigo e se interessou pelo TEF DEDICADO com a DLL CLISISTEF, neste artigo faremos a configuração do TEF, integrando a nossa aplicação com esta DLL, e fazendo as primeiras comunicações exigidas para o roteiro.

          Se já entraram em contato com a empresa que será a intermediária de vocês, devem ter recebido as DLL’s, o simulador, um manual e o roteiro.  

          Instale o Simulador do Clisitef, depois basta iniciar o programa. É exibida uma mensagem, garantindo que é apenas simulação.

          E então é iniciado o simulador.

          Para ficar mais claro e fácil de entender, vou criar uma aplicação em Delphi do Zero, e ir demonstrando os passos de como pode ser feito.

1. Crie uma nova Unit para colocar as Funções da DLL do Clistef.

unit unCliSiTef;

interface

function ConfiguraIntSiTefInterativo (

           pEnderecoIP: PChar;

           pCodigoLoja: PChar;

           pNumeroTerminal: PChar;

           ConfiguraResultado: smallint): integer; far; stdcall; external 'CliSiTef32I.dll';

function ConfiguraIntSiTefInterativoEx (

           pEnderecoIP: PChar;

           pCodigoLoja: PChar;

           pNumeroTerminal: PChar;

           Reservado: smallint;

           ParamAdic:Pchar): integer; far; stdcall; external 'CliSiTef32I.dll';

function EscreveMensagemPermanentePinPad(mensagem:pchar): integer; far; stdcall; external 'CliSiTef32I.dll';

function VerificaPresencaPinPad: integer; far; stdcall; external 'CliSiTef32I.dll';

function IniciaFuncaoSiTefInterativo (

           Modalidade: integer;

           pValor: PChar;

           pNumeroCuponFiscal: PChar;

           pDataFiscal: PChar;

           pHorario: PChar;

           pOperador: PChar;

           pRestricoes: PChar): integer; far; stdcall;external 'CliSiTef32I.dll';

Procedure FinalizaTransacaoSiTefInterativo (

            smallint: Word;

            pNumeroCuponFiscal: PChar;

            pDataFiscal: PChar;

            pHorario: PChar); far; stdcall; external 'CliSiTef32I.dll';

Function ObtemQuantidadeTransacoesPendentes (

           pDataFiscal: PChar;

           pNumeroCuponFiscal: PChar):Integer ; far; stdcall; external 'CliSiTef32I.dll';

function ContinuaFuncaoSiTefInterativo (

           var ProximoComando: Integer;

           var TipoCampo: Integer;

           var TamanhoMinimo: smallint;

           var TamanhoMaximo: smallint;

           pBuffer: PChar;

           TamMaxBuffer: Integer;

           ContinuaNavegacao: Integer): integer; far; stdcall; external 'CliSiTef32I.dll';

implementation

end.

2. Como podem ver chamei a minha de unClisitef, e coloquei na uses do meu formulário principal (tela).

3. Criei um botão (btConfigura) para Configurar o Sitef e um label (lbStatus) para mostrar o retorno.

4. Ao clicar em Configura Sitef eu chamo a função “ConfiguraIntSiTefInterativoEx“ definida em minha unit. É necessário passar os seguintes parâmetros:

          - EndSiTef – IP do servidor onde esta o Simulador (local = ip da máquina).

          - IdLoja – Para testes é 00000000. Para o seu cliente, fornecerão após instalação.
          - IdTerminal – Código do terminal

          - Reservado – Sempre vai ser 0

          - ParametrosAdicionais – Multiplos Cartões


          Em caso de retorno positivo:

          Caso ocorra algum erro (retorno diferente de zero):

5. Vimos como configurar a conexão para o Sitef, porém sabemos que colocar estes parâmetros (ip do servidor, código da loja, código do terminal) fixos dentro do fonte é loucura. Por isso vamos, criar um configurador (.ini) para estes campos se adequarem a cada cliente e situação. Creio que todo sabem como utilizar o .ini, por isso, não vou colocar também o passo a passo do configurar (.ini).


- Criei um .ini junto com a pasta do projeto (onde esta o .exe da aplicação).
- Coloquei na uses do Form o “IniFiles”
- Criei as variáveis IP, Terminal, Loja, Parâmetros.
- Li o .ini para pegar os valores
- Troquei os valores fixos na função para as variáveis do .ini

Arquivo Configurador (.ini)

No create do Form.

Na função Configura do Sitef:

     Estas funções da DLL você pode encontrar no Manual do Sitef fornecido junto com os outros materiais. Para maiores informações dos campos, parâmetros, funções, esta tudo lá.

     Com este artigo já demos o começo primeiro para nossa utilização do T.E.F. Dedicado. No próximo utilizaremos a função do IniciaSitef e ContinuaSitef para enviar informações e receber respostas como autorização ou não da venda, comprovante de débito/crédito, etc ...

     Qualquer coisa estou a disposição.

Até a próxima.

Luiz Coelho

Luiz Coelho - Desenvolvedor Delphi e colaborador do Linha de Código