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á 2085 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á 2085 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...
The popup will be closed in 10 segundos...