Pegar informações após a aprovação do cartão - TEF - Projeto ACBr
Pegar informações após a aprovação do cartão
May 18, 2020 in TEF
Bom dia a todos, gostaria de saber como faço para pegar informações, tais como nr do nsu, nr da autorização etc. após a confirmação da operação. Pergunto isso pq após o
evento "OnDepoisConfirmarTransacao" a variável ACBrTEFD.Resp.NSU vem vázia.
Qual solução TEF está utilizando?
11 minutos atrás, udenilson disse:
Gostaria de pegar estas informações em dois momentos, depois da aprovação do cartão e depois de confirmado da transação.
Edited May 18, 2020 by udenilson
Esse evento você programou?
26 minutos atrás, Juliomar Marchetti disse:
Juliomar, assim deu certo, consigo pegar os dados após a confirmação da transação! Gostaria de saber qual evento eu uso para pegar os dados após a provação do cartão, mas antes de confirmar a operação? E também qual a função desta variável "RespostasPendentes" do tipo TObjectList, já que tenho uma váriavel "Resp" tb, qual seria a diferença entre ambas?
Como nunca precisei não tenho certeza mas tenta esse
Vou tentar, mas a priori para mim já dá!
Esse evento é mais indicado, para caso a aplicação precise modificar o arquivo de Requisição, antes de enviar para o gerenciador TEF
Vamos supor que a operadora não autorize o cartão, e eu quisesse guardar estas informações, "OnAntesFinalizarRequisição" eu ainda não teria essa informação e "OnDepoisDeConfirmarTransações" ainda não seria chamado! Eu acredito que seria um evento do tipo "OnDepoisFinalizarRequisição" ou "OnRetornoRequisicao".
- OnAntesFinalizarRequisição será chamado sempre, que você inicia uma nova Requisição... ele tem esse nome, pois é o momento que o ACBr irá criar o TXT, para gerar para o G.P...
Veja um exemplo, de uso (do Demo), onde inserimos um campo no arquivo...
procedure TForm1.ACBrTEFD1AntesFinalizarRequisicao(Req : TACBrTEFDReq);
if Req.Header = 'CRT' then
Req.GravaInformacao(777,777,'TESTE REDECARD');
Memo1.Lines.Add('Enviando: '+Req.Header+' ID: '+IntToStr( Req.ID ) );
Repare que ACBrTEFD1.CRT(), retorna False, caso a transação não seja aprovada...
Se ela for aprovada, ela estará armazenada em
ACBrTEFD1.RespostasPendentes
Daniel, vou fazer os testes, e conforme for, eu já encerro este tópico mais tarde, muito obrigado a todos pela ajuda!