Ir para conteúdo
  • Cadastre-se

dev botao

Como Capturar a Bandeira e o CNPJ no TEF para NFC-e


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

Recommended Posts

 Pessoal estou imprementando o "TEFCliSiTef" para NFC-e  e  estou vendo as regras para emissão de TEF com NFC-e

 Minha duvida é a seguinte na NFC-e terei que informar as Tags abaixo ::

    With FNFe.Pag.Add do Begin
      tPag      := fpCartaoCredito;
      cAut      := NSU;   
      tBand     :=  ??
      CNPJ      :=  ??
      tpIntegra := tiPagIntegrado;
    End;

Eu não achei a bandeira e o CNPJ como retorno nesse evento do Tef abaixo.
DepoisConfirmarTransacoes(RespostasPendentes: TACBrTEFDRespostasPendentes);

Minhas duvidas são :::

1º o "cAut" é o "NSU" que me retorna do Evento acima ?

2º - Como o pessoal que já fez a homologação para o "TEFCliSiTef"  resolveu essa questão como capturar a Bandeira ?

3º Como saber o CNPJ eu até poderia criar um cadastro de Administradoras de Cartão de Credito mais como eu saberia qual Administradora do Cartão que está efetuando a transação e associar com o CNPJ ?

Grato a todos.

 

Editado por luciano_f
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Essas informações não vem do Gerenciador TEF, você precisaria ter uma tabela no seu sistema, e fazer uma referência cruzada 

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

Essas informações não vem do Gerenciador TEF, você precisaria ter uma tabela no seu sistema, e fazer uma referência cruzada  

 Sim entendo porém deve ter algum meio de eu localizar que aquele recebimento via cartão corresponde a tal CNPJ  e com determinada bandeira eu não estou sabendo como fazer essa referencia cruzada com parametro localizar dentro do evento
DepoisConfirmarTransacoes(RespostasPendentes: TACBrTEFDRespostasPendentes);

Eu já criei um tabela porém como localizar ?

Grato.

Editado por luciano_f
Link para o comentário
Compartilhar em outros sites

 Percebi que pelo evento ::
 DepoisConfirmarTransacoes(RespostasPendentes: TACBrTEFDRespostasPendentes);

 a bandeira eu consigo com a variável "Rede" que em alguns teste meu retornou  "Visa Credito"  está correto isso ?
 o pessoal tem usado a "Rede"  para identificar a bandeira ?

 Agora o CNPJ eu acredito que seja a variavel "Instituicao" que aqui tem retornado  "00125"
 ou está errado isso ?

a Lista dos CNPJ eu tenho aqui
http://www.newssystems.eti.br/blog/2014/12/como-informar-o-cnpj-da-credenciadora-de-cartao-de-credito-na-nfc-e/

Agora não consegui achar uma tabela que me referencia o "00125"  a um CNPJ dessa listagem acima.

 

 

Link para o comentário
Compartilhar em outros sites

3 horas atrás, luciano_f disse:

Essas informações não vem do Gerenciador TEF, você precisaria ter uma tabela no seu sistema, e fazer uma referência cruzada  

 Sim entendo porém deve ter algum meio de eu localizar que aquele recebimento via cartão corresponde a tal CNPJ  e com determinada bandeira eu não estou sabendo como fazer essa referencia cruzada com parametro localizar dentro do evento
DepoisConfirmarTransacoes(RespostasPendentes: TACBrTEFDRespostasPendentes);

Eu já criei um tabela porém como localizar ?

Grato.

Faça mais ou menos assim no seu bancvo de dados:

tabela para operadora

CREATE TABLE NFCE_OPERADORA_CARTAO (
    ID               INTEGER NOT NULL,
    RAZAO_OPERADORA  VARCHAR(70),
    CNPJ_OPERADORA   VARCHAR(14),
);

tabela para Bandeiras

CREATE TABLE NFCE_BANDEIRAS_CARTAO (
    ID                     INTEGER NOT NULL,
    CODIGO_BANDEIRA        INTEGER NOT NULL,
    DESCRICAO_BANDEIRA     VARCHAR(30),
    TAXA_CARTAO            NUMERIC(18,6) DEFAULT 0,                 CHAR(1)
);

 

tabela para armazenar as parcelas, aqui na tela onde o usuario seleciona a operadora e em seguida a bandeira, vai salvar junto as parcelas o id de cada uma para futura consulta no banco de dados

CREATE TABLE PARCELA_RECEBER (
    ID                           INTEGER NOT NULL,
    ...
    ID_BANDEIRA                  INTEGER,
    ID_OPERADORA_CARTAO          INTEGER,
    ...
);

 

 

Link para o comentário
Compartilhar em outros sites

 Pessoal será que eu não estou sabendo explicar direito minha dificuldade.

 Fico muito grato a atenção dos colegas porém ainda estou apanhando feio.

 O Colega "carlosinfoteen"  explicou
tabela para armazenar as parcelas, aqui na tela onde o usuario seleciona a operadora e em seguida a bandeira, vai salvar junto as parcelas o id de cada uma para futura consulta no banco de dados

Porém a tela onde o usuario seleciona a Operadora em seguida a bandeira eu não achei essa tela aqui.
pelos testes que fiz com o Demo do ACBRTef não existe essas duas telas

Vejas em anexo todas as telas que são me apresentadas.

Pelo que estou testando queria uma confirmação dos colegas porém percebo que como já aludi acima a variável
Rede = Retorna a bandeira 
Instituicao = Me Retorna a Administradora

Dessa forma acredito que com essas duas variáveis eu consigo resolver efetuando um busca em minha tabela de Administradoras pelo ID que seria o código da "Instituicao" que o AcbrTef está retornando para pegar o CNPJ 
está correto essa ideia minha ?

 

 

Tela01.jpg

Tela02.jpg

Tela03.jpg

Tela04.jpg

Tela05.jpg

Link para o comentário
Compartilhar em outros sites

vc deve criar uma tela e buscar estas duas informações no seu BD

 Estranho pois já fiz compras em mercados onde o caixa não faz essa escolha já parte direto para o tipo se Credito ou Debito.

 Será que não estão fazendo o mencionei acima ???

Pelo que estou testando queria uma confirmação dos colegas porém percebo que como já aludi acima a variável
Rede = Retorna a bandeira 
Instituicao = Me Retorna a Administradora

Dessa forma acredito que com essas duas variáveis eu consigo resolver efetuando um busca em minha tabela de Administradoras pelo ID que seria o código da "Instituicao" que o AcbrTef está retornando para pegar o CNPJ 
está correto essa ideia minha ? 

Se essa ideia minha estiver certo para o SoftExpress não precisaria dessas duas telas

Editado por luciano_f
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia Luciano, acredito que você esteja procurando a informação contida neste post:

Em contato com a Software Express eles irão te passar um módulo chamado 'Módulo SAT-NFCE', que até em Abril estava na versão 1.0.0.15. Junto com as explicações que eles te passarem você terá uma tabela no gerenciador do TEF para fazer a referência cruzada que o Daniel citou acima.

Espero ter interpretado corretamente a sua dúvida e ter ajudado.
 

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

Citar

Bom dia Luciano, acredito que você esteja procurando a informação contida neste post:

 

Eu acho que não colega pois essa informação corresponde ao SAT de São Paulo e Eu não vou usar o SAT sou do Paraná.

 

Eu acredito que tenha resolvido porém gostaria que o colegas me dissessem se está correto, se tem algum problema que eu não tenha percebido na captura dos retornos.

 DepoisConfirmarTransacoes(RespostasPendentes: TACBrTEFDRespostasPendentes);
 Begin
 For I := 0 to RespostasPendentes.Count - 1 do begin
  with RespostasPendentes[I] do begin

  M_consultas2.MemCondPagto.Edit;

  if Credito Then
   M_consultas2.MemCondPagto.FieldByName('DEBITOCREDITO_TEF').Asstring := 'C'
  Else
   M_consultas2.MemCondPagto.FieldByName('DEBITOCREDITO_TEF').Asstring := 'D';

   M_consultas2.MemCondPagto.FieldByName('COD_AUTORIZACAO_TEF').Asstring := NSU;
   M_consultas2.MemCondPagto.FieldByName('BANDEIRA_TEF').Asstring := Trim(Copy(LeInformacao(132, 0).AsString, 4, 255));

  if M_consultas.Qy_OperaCartao.Locate('ID_OPERADORA', Instituicao, []) Then
 M_consultas2.MemCondPagto.FieldByName('CNPJ_TEF').Asstring := M_consultas.Qy_OperaCartao.FieldByName('CNPJ').Asstring;

 M_consultas2.MemCondPagto.Post;   
   
  End; 
 End;

Observação a bandeira achei melhor buscar pelo codigo e percebi que a variavel "CodigoRedeAutorizada" sempre retorna vazio 
então preferi usar o comando
Trim(Copy(LeInformacao(132, 0).AsString, 4, 255));

Gostaria apenas de uma avaliação dos Colegas.

Editado por luciano_f
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Este tópico foi criado há 2593 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.