Ir para conteúdo
  • Cadastre-se

dev botao

Pré-Homologação Sitef, usando TEFAPI


Recommended Posts

Estou parado em uma situação que ainda não sei como resolver.

Preciso cancelar/estornar uma venda que ainda se encontra pendente no relatório Sitef.

O passo a passo...

Faz a venda, escolhe cartão crédito com o valor total da venda, insere o cartão no Pinpad, digita a senha, a transação é aprovada...

E quando aparece a mensagem para retirar o cartão do Pinpad NÃO retira, Derruba o TEFAPIDemo.

Executa o TEFAPIDemo novamente. O que deveria acontecer segundo o pessoal que faz a homologação é que a venda deveria ser cancelada ou confirmada, pois ainda se encontra pendente no relatório. 

O que acontece é que enquanto eu não retiro o cartão não é retornado nada fica apenas no TACBrTEFAPIClassCliSiTef.ContinuarRequisicaoSiTef

Então o sistema não pode salvar nenhuma informação

Vou postar o log para verificarem. Porem no relatório Sitef já consta como PENDENTE.

Não achei uma maneira de ler/verificar essa PENDENCIA.

Gostaria de saber com vocês que já tem TEF da Sitef API, como resolveram essa questão.

Vocês podem ver na imagem do Demo como não é incluído nos pagamentos enquanto o cartão não for retirado.

image.thumb.png.50235f9e40ef3b626209b2e6ee0ab8cb.pngimage.thumb.png.f81b4df5c349aea95494d0c6c6357bdd.png

arqlog.txt

Link para o comentário
Compartilhar em outros sites

Esse é o procedimento que ocorre, tem que tirar o cartão para finalizar.

Mais é um teste de queda de energia, então se derruba a aplicação antes da retirada do cartão. O que ocorre é que não é gravado os arquivos ACBr*.tef, então o componente não faz o estorno da transação pendente na inicialização.

Precisaria de uma forma de ler o que ainda esta pendente no relatório Sitef e também qual a função que faria para estornar automaticamente sem precisar passar o cartão, pois a transação não foi efetuada.

Link para o comentário
Compartilhar em outros sites

@DaniPro Vi em outro tópico (

uma res) uma resposta sua. Usei a função ACBrTEFAPI1.EfetuarAdministrativa('130','') e me retorna os seguintes dados

000-000 = 18221
1319-000 = 1900
160-000 = 1
161-000 = 1
163-000 = 20240208
164-000 = 113419
210-000 = 2
211-000 = 3
899-103 = 0

Achei o que cada código quer dizer:

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

Só não sei qual a função chamar para fazer o estorno.

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
6 minutos atrás, paulorsa disse:

Precisaria de uma forma de ler o que ainda esta pendente no relatório Sitef e também qual a função que faria para estornar automaticamente sem precisar passar o cartão, pois a transação não foi efetuada.

E ela existe.

 

veja nesse post

 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
7 minutos atrás, paulorsa disse:

 

Só não sei qual a função chamar para fazer o estorno.

 

Sugiro vc ler o manual, está tudo documentado lá.

 

use a função FinalizaTransacaoSiTefInterativo da DLL

Link para o comentário
Compartilhar em outros sites

Boa tarde.

Consegui resolver usando o seguinte código..

  if ACBrTEFAPI1.Modelo = tefApiCliSiTEF then
  begin
    ACBrTEFAPI1.EfetuarAdministrativa('131', IntToStr(Venda.NumOperacao));
    ACBrTEFAPI1.FinalizarTransacao(tefstsErroEnergia);
  end;
 

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.