Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado (editado)

Olá, pessoal, bom dia!

 

Estou realizando o processo de homologação da Cielo e em um dos testes eu tenho que finalizar a venda em forma de pagamento em qualquer ordem (dinheiro, cartão, dinheiro, cartão...), como por exemplo:

 

A venda foi de R$ 1000.

 

R$ 100,00 no cartao 1

R$ 500,00 no cartao 2

R$ 200,00 em dinheiro

R$ 100,00 no cartao 3

R$ 200,00 em dinheiro

Haverá troco de R$ 100,00

 

A minha aplicação funciona perfeitamente para qualquer situação de venda, desde que ela não tenha troco.

 

Como ainda não obtive sucesso, entrei em contato com vocês em outro tópico e lá foi me passado para realizar alguns testes e ver um funcionamento do Demo do ACBrTEFD. No entanto, pude perceber que o Demo não está de acordo com a homologação da Cielo, e a venda só é finalizada adequadamente quando a forma de pagamento em dinheiro é realizada no início.

 

Estou errado ou exite uma outra de forma de usar esse Demo, fazendo com que a forma de pagamento em dinheiro possa ser escolhida em qualquer ordem?

 

Muito obrigado!

Editado por Werner_Marques
  • Moderadores
Postado

O demo é para demonstrar como usar o componente, ele não tem nenhum compromisso em obedecer os testes de certificação, ele deve ser utilizado para estudo somente.

 

Aqui eu faço o seguinte quanto a múltiplas formas e múltiplos cartões: Tudo é feito em cache, ao adicionar uma nova forma de pagamento se for cartão e passar do valor total terei um erro, porque cartão não permite troco, se for dinheiro, vai passar porque permite, então tanto faz se o dinheiro é posto no início ou fim, o que é checado é se a forma de pagamento é TEF se for não permite troco, se não for permite.

 

O componente controla isso, inclusive fiz 4 homologações (3 NTK e 1 SITEF) de semana passada para hoje e tudo ocorreu completamente bem.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • Membros Pro
Postado

Régys, muito obrigado por responder!

 

Acredito que eu esteja fazendo como você falou acima, mas mesmo assim, quando tento finalizar a venda com várias formas de pagamento (dinheiro, cartão, dinheiro, cartão...) e no final tenho um troco, ainda me deparo com essa mensagem: "Operação TEF deve ser limitada ao Saldo restante a Pagar".

 

Segue um trecho do meu código:

 

        qrPagamentos.first;
        while (not qrPagamentos.eof) do begin
            TpPag := qrPagamentos.fieldbyname('cd_finalizadora').asString;
            impfiscal.ACBr1.LerTotaisFormaPagamento ;
            FormaPagto  :=  impfiscal.ACBr1.AchaFPGIndice(TpPag);
            TpPag:= FormaPagto.Indice;
            if (qrPagamentos.fieldbyname('cd_finalizadora').asString<>'03') then
                   impfiscal.ACBr1.EfetuaPagamento( tpPag, qrPagamentos.fieldbyname('vl_finalizadora').asFloat );
            qrPagamentos.next;
        end;
        BitBtn1.Enabled:= false;
        BitBtn2.Enabled:= false;
 
        qrPagamentos.first;
        while (not qrPagamentos.eof) do begin
            TpPag := qrPagamentos.fieldbyname('cd_finalizadora').asString;
            impfiscal.ACBr1.LerTotaisFormaPagamento ;
            FormaPagto  :=  impfiscal.ACBr1.AchaFPGIndice(TpPag);
            TpPag:= FormaPagto.Indice;
            if (qrPagamentos.fieldbyname('cd_finalizadora').asString='03') then begin
              try
                InicializaTefDial;
                impfiscal.ACBrTEFD.CRT( qrPagamentos.fieldbyname('vl_finalizadora').asFloat , tpPag, impfiscal.acbr1.NumCOO );
              finally
              end;
            end;
            qrPagamentos.next;
        end;
        BitBtn1.Enabled:= true;
        BitBtn2.Enabled:= true;
 
Ainda estou me sentindo meio perdido. O que você me aconselha?
 
  • 2 semanas depois ...
  • Este tópico foi criado há 3942 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

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