Jump to content

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png click.png click.png

Retorno de Transação


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

Recommended Posts

  • Consultores
11 minutos atrás, el.lauro disse:

Boa tarde galera, como eu devo fazer para capturar o retorno de uma transação? No caso capturar os dados retornados para posteriormente inserir no meu banco de dados.

Aguardo retorno

Que retorno?

confere os eventos no componente ACBrTEFD!

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Link to comment
Share on other sites

  • Fundadores

Você precisa ser mais específico, em relação a qual informação, deseja capturar...

Veja um exemplo em TEFDDemo...  procedure TForm1.ACBrTEFD1DepoisConfirmarTransacoes

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

Daniel, analisando os códigos da transação administrativa percebi que o arquivo de retorno é excluído depois que os dados são capturados, porém, a coleção usada para Resposta (ACBrTefD1.Resp) é limpa através do comando clear, desse modo eu não consigo pegar os dados para persistir no meu banco. Qual seria o evento que eu deveria usar para ter esses dados?

Link to comment
Share on other sites

  • 2 weeks later...

Boa tarde galera, hoje comecei a mexer novamente no TEF e principalmente em transações administrativas, mais precisamente em recarga de celulares. Estava analisando os códigos do componente para esse tipo de transação e algumas coisas me chamaram atenção. 

Seguindo o fluxo da operações primeiro o componente inicia a requisição, adiciona os dados e finaliza. Apos isso entra em operação o integrador da NTK. Ao receber a resposta da requisição o componente lê a resposta da mesma adiciona o retorno da função, processa e finaliza a resposta. Pois bem, esse finalizar resposta ele acaba limpando o retorno e apagando o arquivo do retorno, sendo que desse modo, pelo menos ao meu ver, não conseguimos persistir os dados da transação no banco, pois, as mesmas não podem serem lidas. Segue abaixo os códigos com o fluxo das transações.

  Result := False ;
  IniciarRequisicao('ADM');
  AdicionarIdentificacao;
  FinalizarRequisicao;
  LerRespostaRequisicao;
  Result := Resp.TransacaoAprovada ;
  try
     ProcessarResposta ;         { Faz a Impressão e / ou exibe Mensagem ao Operador }
  finally
     FinalizarResposta( True ) ; { True = Apaga Arquivo de Resposta }
  end;

Eu gostaria de saber se eu estou enganado, ou do contrario, oque eu devo fazer para conseguir pegar os retornos(Operadora, valor da transação, etc)?

Link to comment
Share on other sites

  • Fundadores

Se você ativar o Log, e a propriedade LogDebug, será gravado no arquivo de Log, todos os dados retornado pelo Gerenciador TEF, com os respectivos índices de acesso

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

  • Fundadores

Conforme já comentei, nos tópicos anteriores, você pode acessar todas as propriedades pelo índice, conforme é demonstrado no exemplo do TEFDDemo

procedure TForm1.ACBrTEFD1DepoisConfirmarTransacoes(
   RespostasPendentes: TACBrTEFDRespostasPendentes);
var
  I : Integer;
begin
  for I := 0 to RespostasPendentes.Count-1  do
  begin
     with RespostasPendentes[I] do
     begin
        Memo1.Lines.Add('Confirmado: '+Header+' ID: '+IntToStr( ID ) );

        // Lendo os campos mapeados //
        Memo1.Lines.Add( 'Rede: '  + Rede +
                         ' NSU: '  + NSU  +
                         ' Parcelas: '+ IntToStr(QtdParcelas) +
                         ' Parcelado por: '+ GetEnumName(TypeInfo(TACBrTEFDRespParceladoPor), integer(ParceladoPor) )  +
                         ' É Débito: '+BoolToStr(Debito)+
                         ' É Crédito: '+BoolToStr(Credito)+
                         ' Valor: '+ FormatFloat('###,###,##0.00',ValorTotal)) ;

        // Lendo um Campo Específico //
        Memo1.Lines.Add('Campo 11: ' + LeInformacao(11,0).AsString );
     end;
  end;
end;

Veja o trecho acima... (lendo um campo específico)

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.