Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

Ola, Bom dia!

Alguns dos nossos clientes nos solicitou recentemente uma espécie de relatório de transações do TEF no nosso sistema. Esses relatórios são somente retirados através dos portais das administradoras de cartões. Com isso, surge a necessidade dessas informações serem implantadas no nosso sistema, utilizamos o Client Sitef Modular dedicado fornecido pela Software Express.Nessa circunstância vocês teriam algum mecanismo que ao realizar a transação da venda, obter uma resposta trazendo informações como: quantidade de parcelas,bandeira,valor bruto, valor liquido, etc.. que possam ser gravadas dentro do banco de dados? Ou outra forma que em algum software obtenha essas informações e sejam importadas para o sistema?

Desde já Agradeço.

 

  • Fundadores
Postado

SIM, isso já existe...

Veja no Demo o evento OnDepoisConfirmarTransacoes... Nele você pode ter acesso a todo o Log de informações retornado pelo SiTef

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 ) );

        Memo1.Lines.Add( 'Rede: '  + Rede +
                         ' NSU: '  + NSU  +
                         ' Valor: '+ FormatFloat('###,###,##0.00',ValorTotal)) ;
        Memo1.Lines.Add('Campo 11: ' + LeInformacao(11,0).AsString );
     end;
  end;
end;   

As informações principais são "mapeadas" para propriedades internas do componente...  Ex:

     RespostasPendentes[I].Debito;
     RespostasPendentes[I].Credito;
     RespostasPendentes[I].ValorTotal;

As informações que você quer obter e não tiverem propriedade, você pode acessar pelo Índice da mesma... O Exemplo abaixo retorna o texto da 1a via (apenas no Sitef)

    RespostasPendentes[I].LeInformacao(121,0);

Para conhecer todas os retornos do Sitef, consulte o manual "SiTef - Interface Simplificada com a aplicação(VRS-150).pdf", observe porém, que nem todas as propriedades são retornadas, em todas as transações....

 

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.

  • 2 meses depois ...
  • Membros Pro
Postado (editado)

Bom dia, 

Surgiu uma dúvida com relação as propriedades internas do "Resposta Pendentes", como faço para identificar cada uma? Por exemplo, "Valor Original" de onde vem esse valor, pois aqui está retornando 0.

Editado por Werner_Marques
  • Fundadores
Postado

Isso dependerá muito da Transação e do Gerenciador TEF utilizado...

Veja no LOG gerado pelo ACBrTEFD, todas as propriedades que o TEF em questão retorna:

Veja o método: "procedure TACBrTEFDRespCliSiTef.ConteudoToProperty;" como (um dos) exemplos de como o Componente traduz as informações do Gerenciador TEF para as propriedades internas

 

 

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.

  • Fundadores
Postado

Acredito que você não usou o Find In Files da forma correta...

Citar

C:\Pascal\Comp\ACBr\trunk2\Fontes\ACBrTEFD\ACBrTEFDBanese.pas
ACBrTEFDBanese.pas (77,5) procedure ConteudoToProperty; override;
C:\Pascal\Comp\ACBr\trunk2\Fontes\ACBrTEFD\ACBrTEFDClass.pas
ACBrTEFDClass.pas (433,6) procedure ConteudoToProperty; virtual;
ACBrTEFDClass.pas (521,6) procedure ConteudoToProperty; override;
C:\Pascal\Comp\ACBr\trunk2\Fontes\ACBrTEFD\ACBrTEFDCliDTEF.pas
ACBrTEFDCliDTEF.pas (74,5) procedure ConteudoToProperty; override;
C:\Pascal\Comp\ACBr\trunk2\Fontes\ACBrTEFD\ACBrTEFDCliSiTef.pas
ACBrTEFDCliSiTef.pas (92,5) procedure ConteudoToProperty; override;
C:\Pascal\Comp\ACBr\trunk2\Fontes\ACBrTEFD\ACBrTEFDTicketCar.pas
ACBrTEFDTicketCar.pas (68,5) procedure ConteudoToProperty; override;
C:\Pascal\Comp\ACBr\trunk2\Fontes\ACBrTEFD\ACBrTEFDVeSPague.pas
ACBrTEFDVeSPague.pas (115,5) procedure ConteudoToProperty; override;

 

 

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.

  • Membros Pro
Postado

Obrigado Daniel, 

E quanto a essa procedure  TACBrTEFDRespCliSiTef.ConteudoToProperty ela somente servirá para o CliSitef? e para os demais TEF como faço para obter essas informações?

  • Membros Pro
Postado

Estou utilizando o ACBrTEFDDepoisConfirmarTransacoes para me retornar as informações das transações, segui arquivo texto que estou gravando.

Só que a minha dificuldade é identificar esses códigos, pelo  TACBrTEFDRespCliSiTef.ConteudoToProperty não conseguir compreender e cada TEF como você relatou trás informações diferentes. 

Como você pode observar no arquivo texto tem essas duas informações abaixo, eu só estou querendo entende-las de onde vem e qual o significado delas, dentre outras também que não consegui identificar. Pois a minha intenção é grava-las dentro de uma tabela no banco de dados para futuras verificações, para isso preciso saber o seu significado. 

Finalização: 15120108415908415923273

Campo 11: 12

 

Agradeço desde já a sua ajuda.

Transacoes.txt

  • Fundadores
Postado

Não faço a menor ideia do que signifique... como eu já lhe disse antes... os códigos de retorno, dependerão muito do Gerenciador TEF.  Você deve consultar o manual do seu Gerenciador TEF, para saber as informações que são retornadas em cada transação...

Eu poderia lhe ajudar mais, se você me desse informações do seu ambiente:

Para qual TEF você está desenvolvendo ??
Que informação você precisa recuperar ??

Veja... se você usar esses códigos específicos, sua aplicação só funcionará para esse gerenciador TEF... (Recuperar retornos específicos, é demonstrado no TEFDDemo)

por isso que existe a "ConteudoToProperty", para tentar abstrair os diferentes retornos dos diversos Gerenciadores TEF.

 

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.

  • Membros Pro
Postado

Eu compreendo que os códigos de retorno são diferentes de acordo com o Gerenciador TEF, mais onde posso encontrar esses Manuais?

O TEF que utilizo na minha aplicação são o CliSiTef(pela dll) e o TEFDial(PayGo, Cappta, ect. Por seus respectivos Gerenciadores.)

Inicialmente essas informações que preciso são essas que enviei no arquivo texto, como: Rede,NSU, Quantidade de Parcelas,Tipo de Transação, etc.

Pelo   ACBrTEFDDepoisConfirmarTransacoes ele está me retornando não somente do CliSiTef e sim dos demais TEF's, só precisaria saber o significado desses códigos específicos. 

  • Membros Pro
Postado

Caros colegas, iniciantemente peço desculpas pela insistência mais é que estou realmente precisando dessas informações e com uma certa urgência.

Entrei em contato primeiramente com o pessoal do suporte do CliSiTEF, segundo eles não poderiam responder por informações que viam de um outro componente que não era o SiTEF apesar do retorno da transação sim, mais especifiquei que utilizava o componente do ACBr para retornar, me passaram uma documentação "SiTef - Interface Simplificada com a aplicação(VRS-160)", que esta também não condiz com os códigos de retorno ao qual vocês retornam.  O que posso fazer ?

  • Fundadores
Postado

Apenas o produtor do Gerenciador do TEF, pode responder pelos manuais dele... consulte a Sw,Expresse a Pay&Go... Também consulte o suporte deles sobre códigos específicos... Isso é totalmente fora do Escopo do ACBr... Ou seja, os códigos a que você se refere, não são do ACBr, mas são repassados do Gerenciador TEF

Estude os fontes... todas as Informações que você citou, já são mapeadas por "ConteudoToProperty", para ambos os Gerenciadores que você citou...

Veja um exemplo de uso:

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;

 

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.

×
×
  • 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.