paulorsa Postado 8 Fevereiro Compartilhar Postado 8 Fevereiro 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. arqlog.txt Link para o comentário Compartilhar em outros sites More sharing options...
Membros Pro DaniPro Postado 8 Fevereiro Membros Pro Compartilhar Postado 8 Fevereiro Se eu entendi a sua dúvida, vc deve retirar o cartão para finalizar a transação e depois cancelar. Link para o comentário Compartilhar em outros sites More sharing options...
paulorsa Postado 8 Fevereiro Autor Compartilhar Postado 8 Fevereiro 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 More sharing options...
paulorsa Postado 8 Fevereiro Autor Compartilhar Postado 8 Fevereiro @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 More sharing options...
Membros Pro DaniPro Postado 8 Fevereiro Membros Pro Compartilhar Postado 8 Fevereiro 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 More sharing options...
Membros Pro DaniPro Postado 8 Fevereiro Membros Pro Compartilhar Postado 8 Fevereiro 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 More sharing options...
paulorsa Postado 8 Fevereiro Autor Compartilhar Postado 8 Fevereiro 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; 1 1 Link para o comentário Compartilhar em outros sites More sharing options...
Moderadores Juliomar Marchetti Postado 8 Fevereiro Moderadores Compartilhar Postado 8 Fevereiro Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Link para o comentário Compartilhar em outros sites More sharing options...
Recommended Posts