Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2519 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

Olá Galera.

Estou implementando no PDV o uso do TEF com o Servidor dedicado, para tanto criei duas funções 


 

function ConfiguraClisitef(const vIpSitef, vIdLoja, vIdTerminal,vNomeLoja: WideString): WideString; stdcall;
function IniciaTransacaoSitef(vFuncao: SYSINT; const vValor, vCupomFiscal,vDataFiscal, vHoraFiscal, vOperador, vParamsAdd: WideString): SYSINT;      stdcall;
function TEcfCOM.ConfiguraClisitef(const vIpSitef, vIdLoja, vIdTerminal,  vNomeLoja: WideString): WideString;
var
  vRetorno: string;
  vNumRetorno:Integer;
begin
  CliSiTef := TCliSiTef.Create(nil);
  CliSiTef.OnCliSiTef := OnCliSiTef;
  vRetorno:='Iniciando'+#13+#10;
  vNumRetorno := CliSiTef.Configure(vIpSitef,vIdLoja,vIdTerminal);

  if vNumRetorno = 0 then
  begin
    vRetorno:= vRetorno+'Inicialização Ok!'+#13+#10;
  end
  else
  begin
    vRetorno:= vRetorno+'Inicialização com retorno ' + IntToStr (vNumRetorno) + #13+#10;
    ShowMessage('Erro: retorno ' + IntToStr (vNumRetorno));
  end;
  if CliSiTef.PinPad.IsPresent then
  begin
    vRetorno:= vRetorno+'Pinpad encontrado' + #13+#10;
    CliSiTef.PinPad.SetDisplayMessage(vNomeLoja, True);
  end
  else
  begin
    vRetorno:= vRetorno+'Pinpad não encontrado' + #13+#10;
  end;
  Result := vRetorno;

end;

function TEcfCOM.IniciaTransacaoSitef(vFuncao: SYSINT; const vValor,  vCupomFiscal, vDataFiscal, vHoraFiscal, vOperador,  vParamsAdd: WideString): SYSINT;stdcall;
var
  vRetorno: integer;
begin
  vRetorno := 0;
  vRetorno := CliSiTef.StartTransaction(vFuncao,vValor,vCupomFiscal,vDataFiscal,vHoraFiscal,vOperador,vParamsAdd);
  Result := vRetorno;
end;


 

O que está acontecendo é :

Mando um ConfiguraClisitef(vIpSitef,vIdLoja,vIdTerminal,vNomeLoja) e me conecta ok com o pinpad

Depois mando o comando vRetornoSitef := IniciaTransacaoSitef(2 ,FloatToStrF(Edit_VlrPagto.Value,ffFixed,14,2),NumCF,vDataFiscal,vHoraFiscal,vOperador,vParams) Que deveria me retonar 10000 pois configurei o sitefcfg.ini para 
[Geral] 
BandeiraPadraoHabilitada=1

Para me retornar a Bandeira do cartão, mas  me retorna 0, e encerra o procedimento.

Porem entrei em contato com o suporte da SE e disseram que pelo arquivo dmp de log o processo retornou duas vezes o 10000 então acho que eu que não estou sabendo usar. Alguem pode me ajudar?

 

 

Editado por EMBarbosa
Adicionado tags de código
  • Membros Pro
Postado
Em 28/12/2017 at 14:47, Juliomar Marchetti disse:

Sim tem o exemplo no svn com todos os métodos

Boa tarde Juliomar,

O exemplo que você se refere de todas as funções do CliSitef é o que está na pasta Exemplos\ACBrTEFD\Delphi  ??

Estou com dúvidas quanto a essas funções, vi que tem duas formas de charmar, por exemplo, o cartão no ACBrTEFD:

Assim:

  ACBrTEF.TEFCliSiTef.CRT(curValor,'','1',0);

E Assim:

  ACBrTEF.CRT(curValor,'','1',0)

O Clisitef seria o primeiro citado, ou tanto faz?

Tem algum exemplo só do CliSitef?

Estou confuso quanto a como usa-lo!

  • Este tópico foi criado há 2519 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.