Jump to content
Notícias do ACBr

click.png

click.png

click.png

click.png

click.png

click.png

logo_acbr_paygo.png

TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


Saiba mais

beneficios.png

click.png

click.png

click.png

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

Recommended Posts

Pessoal, segue uma contribuição caso seja necessário para a comunidade, a descrição da bandeira do cartão na forma de pagamento cartão crédito ou débito no danfe NFCe Fortes sendo impresso conforme imagem abaixo;
image.png.a2b99b4f5cfa5c9cf68b4f23d22554e2.png

Local do Arquivo:  ..\ACBr\Fontes\ACBrDFe\ACBrNFe\DANFE\NFCe\Fortes\ACBrDANFCeFortesFr.pas

Foi implementado a rotina no procedure TACBrNFeDANFCeFortesFr.rlbPagamentoBeforePrint(Sender: TObject; conforme descrito abaixo:

procedure TACBrNFeDANFCeFortesFr.rlbPagamentoBeforePrint(Sender: TObject; var PrintIt: boolean);
  var
  pBandeira: String;
begin
  with ACBrNFeDANFCeFortes.FpNFe.pag.Items[fNumPagto] do
  begin
      if (tPag = fpCartaoCredito) or (tPag = fpCartaoDebito) then
        begin
           case tBand of
              bcVisa:            pBandeira := 'Visa'            ;//+ ' NSU: ' + cAut;
              bcMasterCard:      pBandeira := 'MasterCard'      ;//+ ' NSU: ' + cAut;
              bcAmericanExpress: pBandeira := 'AmericanExpress' ;//+ ' NSU: ' + cAut;
              bcSorocred:        pBandeira := 'Sorocred'        ;//+ ' NSU: ' + cAut;
              bcDinersClub:      pBandeira := 'Diners Club'     ;//+ ' NSU: ' + cAut;
              bcElo:             pBandeira := 'Elo'             ;//+ ' NSU: ' + cAut;
              bcHipercard:       pBandeira := 'Hipercard'       ;//+ ' NSU: ' + cAut;
              bcAura:            pBandeira := 'Aura'            ;//+ ' NSU: ' + cAut;
              bcCabal:           pBandeira := 'Cabal'           ;//+ ' NSU: ' + cAut;
              bcOutros:          pBandeira := 'Outros'          ;//+ ' NSU: ' + cAut;
            end;
        end;
    lMeioPagamento.Caption  := ACBrStr(FormaPagamentoToDescricao(tPag)) + ' '+ pBandeira;
    lPagamento.Caption      := FormatFloatBr(vPag);
    fTotalPagto             := fTotalPagto + vPag;
  end;
end;

 

Edited by Aurino
  • Like 1
  • Thanks 1

Aurino

 

 

Link to comment
Share on other sites

1 hora atrás, Aurino disse:

Pessoal, segue uma contribuição caso seja necessário para a comunidade, a descrição da bandeira do cartão na forma de pagamento cartão crédito ou débito no danfe NFCe Fortes sendo impresso conforme imagem abaixo;
image.png.a2b99b4f5cfa5c9cf68b4f23d22554e2.png

Local do Arquivo:  ..\ACBr\Fontes\ACBrDFe\ACBrNFe\DANFE\NFCe\Fortes\ACBrDANFCeFortesFr.pas

Foi implementado a rotina no procedure TACBrNFeDANFCeFortesFr.rlbPagamentoBeforePrint(Sender: TObject; conforme descrito abaixo:

procedure TACBrNFeDANFCeFortesFr.rlbPagamentoBeforePrint(Sender: TObject; var PrintIt: boolean);
  var
  pBandeira: String;
begin
  with ACBrNFeDANFCeFortes.FpNFe.pag.Items[fNumPagto] do
  begin
      if (tPag = fpCartaoCredito) or (tPag = fpCartaoDebito) then
        begin
           case tBand of
              bcVisa:            pBandeira := 'Visa'            ;//+ ' NSU: ' + cAut;
              bcMasterCard:      pBandeira := 'MasterCard'      ;//+ ' NSU: ' + cAut;
              bcAmericanExpress: pBandeira := 'AmericanExpress' ;//+ ' NSU: ' + cAut;
              bcSorocred:        pBandeira := 'Sorocred'        ;//+ ' NSU: ' + cAut;
              bcDinersClub:      pBandeira := 'Diners Club'     ;//+ ' NSU: ' + cAut;
              bcElo:             pBandeira := 'Elo'             ;//+ ' NSU: ' + cAut;
              bcHipercard:       pBandeira := 'Hipercard'       ;//+ ' NSU: ' + cAut;
              bcAura:            pBandeira := 'Aura'            ;//+ ' NSU: ' + cAut;
              bcCabal:           pBandeira := 'Cabal'           ;//+ ' NSU: ' + cAut;
              bcOutros:          pBandeira := 'Outros'          ;//+ ' NSU: ' + cAut;
            end;
        end;
    lMeioPagamento.Caption  := ACBrStr(FormaPagamentoToDescricao(tPag)) + ' '+ pBandeira;
    lPagamento.Caption      := FormatFloatBr(vPag);
    fTotalPagto             := fTotalPagto + vPag;
  end;
end;

 

Diretorio do arquivo: ..\ACBr\Fontes\ACBrDFe\ACBrNFe\DANFE\NFCe\EscPos\ACBrNFeDANFeESCPOS.pas

procedure TACBrNFeDANFeESCPOS.GerarPagamentos;
var
  i: Integer;
  Troco: Real;
  pBandeira : String;

begin
  //Total := 0;
  FPosPrinter.Buffer.Add('<c>' + PadSpace('FORMA DE PAGAMENTO | VALOR PAGO R$',
     FPosPrinter.ColunasFonteCondensada, '|'));

  for i := 0 to FpNFe.pag.Count - 1 do
  begin

     with FpNFe.pag.Items[i] do
      begin
          if (tPag = fpCartaoCredito) or (tPag = fpCartaoDebito) then
            begin
               case tBand of
                  bcVisa:            pBandeira := 'Visa'            ;//+ ' NSU: ' + cAut;
                  bcMasterCard:      pBandeira := 'MasterCard'      ;//+ ' NSU: ' + cAut;
                  bcAmericanExpress: pBandeira := 'AmericanExpress' ;//+ ' NSU: ' + cAut;
                  bcSorocred:        pBandeira := 'Sorocred'        ;//+ ' NSU: ' + cAut;
                  bcDinersClub:      pBandeira := 'Diners Club'     ;//+ ' NSU: ' + cAut;
                  bcElo:             pBandeira := 'Elo'             ;//+ ' NSU: ' + cAut;
                  bcHipercard:       pBandeira := 'Hipercard'       ;//+ ' NSU: ' + cAut;
                  bcAura:            pBandeira := 'Aura'            ;//+ ' NSU: ' + cAut;
                  bcCabal:           pBandeira := 'Cabal'           ;//+ ' NSU: ' + cAut;
                  bcOutros:          pBandeira := 'Outros'          ;//+ ' NSU: ' + cAut;
                end;
            end;
      end;
    FPosPrinter.Buffer.Add('<c>' + ACBrStr(PadSpace(FormaPagamentoToDescricao(FpNFe.pag.Items[i].tPag) +  ' ' + pBandeira +
       '|' + FormatFloatBr(FpNFe.pag.Items[i].vPag),
       FPosPrinter.ColunasFonteCondensada, '|')));
  end;

  Troco := IIf(FpNFe.pag.vTroco > 0,FpNFe.pag.vTroco,vTroco);

  if Troco > 0 then
    FPosPrinter.Buffer.Add('<c>' + PadSpace('Troco R$|' +
       FormatFloatBr(Troco), FPosPrinter.ColunasFonteCondensada, '|'));

end;

 

Edited by Aurino
  • Like 1

Aurino

 

 

Link to comment
Share on other sites

49 minutos atrás, Fabrício G. Araújo disse:

Hum... só uma dúvida... e isso é permitido? Está de acordo com as notas técnicas?

As NT's não informa que deve ser informado as bandeiras dos cartões mas também não diz que é proibido.
Porém, mantem a mesma regra, informar o meio de pagamento clara e segundo as regras NT's e Procons.

Aurino

 

 

Link to comment
Share on other sites

12 minutos atrás, Aurino disse:

As NT's não informa que deve ser informado as bandeiras dos cartões mas também não diz que é proibido.
Porém, mantem a mesma regra, informar o meio de pagamento clara e segundo as regras NT's e Procons.

Entendo, mas aí vai da interpretação de cada um. Legal disponibilizar esse recurso, pois quem quiser utilizar, está disponível. E também entendo a pressão que temos de nossos clientes para colocar do jeito que eles querem. Por exemplo, já vi DANFE com os dados do TEF acima do Qr-Code, que pelas NT não seria possível, e sim ao final. Mas quem irá fiscalizar né... é meio que uma terra sem lei, cada uma faz o DANFE que deseja mesmo.

Link to comment
Share on other sites

Compreendo mas acredito que essa simples alteração, não causaria penalidades ao detalhar a bandeira do cartão respectiva ao pagamento realizado.
Como na imagem, o cliente saberá claramente qual valor e em qual cartão foi pago os valores da compra.

Aurino

 

 

Link to comment
Share on other sites

Aurino!

Meus parabéns pela iniciativa muito bom mesmo. Creio que não haja problema algum com relação as Sefaz ver isso como algo errado. Pois, acho que assim fica mais explicito ainda para o cliente.

De qualquer modo seria realmente implementar de uma maneira que ficasse flexível para optar por usar ou não desta forma.

Link to comment
Share on other sites

  • Moderadores
13 horas atrás, Aurino disse:

Pessoal, segue uma contribuição caso seja necessário para a comunidade, a descrição da bandeira do cartão na forma de pagamento cartão crédito ou débito no danfe NFCe

Valeu pela iniciativa... como o @André Ferreira de Moraes comentou, espero que seja aproveitado...

Uma dica que notei olhando teu código, não seria necessário testar também se há integração de pagamento? Algo como

if tpIntegra = tiPagIntegrado then
  case tBand of
    ...

Att

Ricardo

Link to comment
Share on other sites

  • 4 months later...
  • Fundadores

Porque não usar o método abaixo, de pcnConversao.pas ?

function BandeiraCartaoToDescStr(const t: TpcnBandeiraCartao): string;  

  • Like 1
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

Estou trabalhando no QRCode Lateral, para o SAT (ACBrSATExtratoESCPOS.pas)

aproveitei e já apliquei um ajuste semelhante ao sugerido nesse Post, na Unit ACBrNFeDANFeESCPOS.pas

  • Like 1
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

  • Membros Pro

Daniel Simoes Obrigado pela velocidade.

 

Acabei implementando a autorização do cartão. 

 

Consegue adicionar pra gente?

 

var
  i: Integer;
  Troco: Real;
  DescPagto, DescBandeira,CodigoAutorizacao: String;
begin
  //Total := 0;
  FPosPrinter.Buffer.Add('<c>' + PadSpace('FORMA DE PAGAMENTO | VALOR PAGO R$',
     FPosPrinter.ColunasFonteCondensada, '|'));

  for i := 0 to FpNFe.pag.Count - 1 do
  begin
    with FpNFe.pag.Items[i] do
    begin
      DescPagto := ACBrStr(FormaPagamentoToDescricao(tPag));
      if (tPag in [fpCartaoCredito, fpCartaoDebito]) then
      begin
        DescBandeira := BandeiraCartaoToDescStr(tBand);
        CodigoAutorizacao := 'Aut: '+cAut;
      end
      else
      begin
        DescBandeira := '';
        CodigoAutorizacao := '';
      end;

      FPosPrinter.Buffer.Add('<c>' + PadSpace(
         DescPagto + ' ' + DescBandeira + ' ' + CodigoAutorizacao + '|' +
         FormatFloatBr(vPag),
         FPosPrinter.ColunasFonteCondensada, '|'));
    end;
  end;

  Troco := IIf(FpNFe.pag.vTroco > 0,FpNFe.pag.vTroco,vTroco);

  if Troco > 0 then
    FPosPrinter.Buffer.Add('<c>' + PadSpace('Troco R$|' +
       FormatFloatBr(Troco), FPosPrinter.ColunasFonteCondensada, '|'));

end;

 

Link to comment
Share on other sites

  • 3 weeks later...

Boa tarde,

Estou informando pagamento na NFCe e usando ACBrNFeDANFeESCPOS

- <pag>
- <detPag>
  <tPag>04</tPag>
  <vPag>39.50</vPag>
- <card>
  <tpIntegra>2</tpIntegra>
  </card>
  </detPag>
  </pag>
 
Nas formas de pagamento com cartões esta saindo sempre a bandeira "Visa" alguém poderia me dar uma sugestão de onde estaria o erro?
Link to comment
Share on other sites

Boa tarde.

Com relação a incluir o código de autorização na impressão do cupom, não sei se é adequado por isso a princípio não incluí a alteração do @Marcelo Aguiar Alvim sugerida logo acima. Porém eu alterei a impressão para que só imprima a bandeira do cartão junto da forma de pagamento quando o tpIntegra = tiPagIntegrado, pois se não tiver essa validação, sempre imprime a bandeira "Visa" para as formas de pagamento de cartões quando tpIntegra <> tiPagIntegrado.

Peço que analisem os arquivos em anexo para uma possível submissão ao repositório de fontes.

Agradeço desde já.

 

ACBrNFeDANFeESCPOS.pas

ACBrDANFCeFortesFr.pas

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • Consultores
Em 19/12/2018 at 18:30, Marcelo Aguiar Alvim disse:

Acabei implementando a autorização do cartão. 

 

Consegue adicionar pra gente?

Bom dia

Foi adicionado nos componentes de Impressão NFCe (Fortes e ESCPOS) a propriedade: "DescricaoPagamentos"  onde pode selecionar o tipo de impressão. Podendo ser a junção de: Tipo, Bandeira e Autorização.

Favor atualizar os fontes e reinstalar os componentes para testes... 

  • Thanks 1
Consultor SAC ACBr

José Junior
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

26 minutos atrás, José M. S. Junior disse:

Bom dia

Foi adicionado nos componentes de Impressão NFCe (Fortes e ESCPOS) a propriedade: "DescricaoPagamentos"  onde pode selecionar o tipo de impressão. Podendo ser a junção de: Tipo, Bandeira e Autorização.

Favor atualizar os fontes e reinstalar os componentes para testes... 

Bom dia.

Este implementação ainda não foi feito para os danf em FastReport não né?

 

Link to comment
Share on other sites

  • 3 weeks later...
  • Membros Pro
Em 23/01/2019 at 10:18, Daniel Simoes disse:

Obrigado... corrigido no SVN...

Exelente a implementação, mas sempre tem um porem né...

 

O colega informou um bug pois estava sempre imprimendo bandeira visa, mas acredito que é pelo fato de quando a venda não for integrada ele não preenche as informações de autorização, no meu caso eu já preencho e precisava que imprimisse. Podemos tratar de outra forma?

Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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.