Ir para conteúdo
  • Cadastre-se

dev botao

Identificar O Tipo De Cartão Usado Na Transação


Ver Solução Respondido por Intelliware,
  • Este tópico foi criado há 2264 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia!

 

   Tenho Homologado TEF discado com AcbrTEFD, e tenho alguns clientes querendo um controle de cartões, gostaria de saber se tem como identificar o cartão passado? Exemplo CIELO - DEBITO ou REDE - CREDITO. Atualmente antes de chamar a transação do TEF eu abro uma tela com os cartões cadastrados pelo usuário, mas isso gera muitas falhas. Alguém tem algo parecido?

 

 

 Obrigado

 

 

João Victor

Link para o comentário
Compartilhar em outros sites

  • Fundadores

No discado algumas informações são retornadas... Acho que a Rede (010-000) e Tipo de Transação (011-00) são, retornados...

 

Veja o Demo do ACBrTEFD para saber como ler esses valores em:

procedure TForm1.ACBrTEFD1DepoisConfirmarTransacoes

 

Veja o manual do Pay&Go 1 - (PGWPP - Interface com a Automacão Comercial - ) ou o manual do Gerenciador Padrão, para saber todos os campos retornados pelo TEF

 

O componente ACBrTEFD tenta "mapear" rodos os campos retornados, em propriedades, para facilitar a recuperação dos valores...

Veja: procedure TACBrTEFDRespTXT.ConteudoToProperty; da unit ACBrTEFDClass.pas

lendo ela dá pra compreender quais campos retornados pelo TEF são salvos nos propriedades

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 para o comentário
Compartilhar em outros sites

  • 8 meses depois ...
  • Membros Pro

    Bom dia Daniel, estamos tentando implementar a identificação do cartão TEF no nosso PDV.

 

    Baseado no arquivo:

ACBrTEFD.RespostasPendentes[pred(ACBrTEFD.RespostasPendentes.Count)].ArqRespPendente

    Estamos tentando rastrear as seguintes propriedades:

131 - Código referente a instituição
132 - Código referente ao nome da bandeira
136 - BIN do cartão(6 primeiros dígitos)
156 - Nome da instituição por extenso

    No arquivo retornado acima, temos as seguintes informações:

123-000 = 00
131-000 = 00125
132-000 = 00001
133-000 = 040003
134-000 = 000040003
135-000 = 040003
136-000 = 474512
156-000 = VISA CREDITO
157-000 = 020000080750001
158-000 = AP
161-000 = 0
170-000 = 0
174-000 = 1
175-000 = 1
176-000 = 49
2010-000 = 00
2053-000 = CREDITO
2090-000 = 3
2091-000 = 0
2333-000 = 1
2362-000 = 0
899-002 = 09
899-100 = CRT
899-101 = 31240
899-102 = 10231
899-103 = 23790

    Analisando o código, acredito que consigo obter:

131 -> ACBrTEFD.RespostasPendentes[pred(ACBrTEFD.RespostasPendentes.Count)].Instituicao
156 -> ACBrTEFD.RespostasPendentes[pred(ACBrTEFD.RespostasPendentes.Count)].Rede

    No nosso PDV utilizamos o simulador do SiTEF v3.0.19.34. Gostaríamos de saber se existe um modo de obtermos os códigos 132 e 136?

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Você pode ver todas as propriedades que são mapeadas, lendo os fontes to método da classe ACBrTEFDCliSiTef.pas, linha:  302 procedure TACBrTEFDRespCliSiTef.ConteudoToProperty;

 

para propriedades não mapeadas, você poderia usar o numero do índice.. Veja: o exemplo nos fontes do TEFDemo, Uni1.pas  (campo 11)

 

ACBrTEFD.RespostasPendentes.LeInformacao(NumIndice,0).AsString

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

        memo1.Lines.Add('Desconto: '+ FormatFloat('###,###,##0.00',Desconto));
        memo1.Lines.Add('Saque: '+ FormatFloat('###,###,##0.00',Saque));

        Memo1.Lines.Add( 'Rede: '  + Rede +
                         ' NSU: '  + NSU  +
                         ' Valor: '+ FormatFloat('###,###,##0.00',ValorTotal)) ;
        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.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
  • Solution

Conseguimos aqui:

DebugLog('[' + ACBrTEFD.RespostasPendentes[pred(ACBrTEFD.RespostasPendentes.Count)].LeInformacao(131, 0).AsString + ']' + sLineBreak +
         '[' + ACBrTEFD.RespostasPendentes[pred(ACBrTEFD.RespostasPendentes.Count)].LeInformacao(132, 0).AsString + ']' + sLineBreak +
         '[' + ACBrTEFD.RespostasPendentes[pred(ACBrTEFD.RespostasPendentes.Count)].LeInformacao(136, 0).AsString + ']' + sLineBreak +
         '[' + ACBrTEFD.RespostasPendentes[pred(ACBrTEFD.RespostasPendentes.Count)].LeInformacao(156, 0).AsString + ']');

     Agradeço!

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

  • 3 anos depois...
  • Administradores

Boa tarde 

Este tópico é muito antigo e por isso será fechado. Por favor crie um novo tópico para sua duvida.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2264 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
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.

The popup will be closed in 10 segundos...