Ir para conteúdo
  • Cadastre-se

dev botao

Roteiro Cielo


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

Recommended Posts

  • Membros Pro

Olá, bom dia!

 

Com a ajudo do pessoal aqui do fórum, eu consegui implementar a utilização da DLL CliSiTef32 na minha aplicação.

 

Agora eu refazendo o roteiro, mas no primeiro teste já aconteceu uma falha.

 

O teste pede para que eu realize uma transação de 30 reais com cartão cielo, e a mesma deve haver desconto. No entanto, no final da transação me deparo com a seguinte mensagem: "Aprov PP não permitida". Reparei que a mesma mensagem sempre aparece quando o valor do pagamento deve ganhar desconto. (Isso só acontece com cartão cielo)

 

Alguém tem algo a dizer a respeito disso?

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
[OBJETIVO]: Realizar uma venda com Cielo Premia e validar se os cupons CF e CCD estão sendo impresso corretamente.
 
[PROCEDIMENTO]: Realizar uma venda de CRÉDITO Á VISTA no valor de R$ 30.00. 
 
[RESULTADO ESPERADO]: A automação deve ler o campo de desconto e inseri-lo no CF antes de totalizar a venda e imprimir o comprovante CCD conforme retorno da DLL.
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Verifique os itens abaixo:

 

ACBrTEFD1.SuportaDesconto := True;
ACBrTEFD1.SuportaSaque := True;
ACBrTEFD1.AutoEfetuarPagamento := False;    
 

Programou o evento OnComandaECFSubtotaliza na sua aplicação? 

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Você pode usar o evento OnDepoisConfirmarTransacoes, e salvar em seu BD as informações que você deseja... Veja um exemplo do TEFDDemo...

procedure TForm1.ACBrTEFD1DepoisConfirmarTransacoes( RespostasPendentes: TACBrTEFDRespostasPendentes);
var
  I : Integer;
begin
  for I := 0 to RespostasPendentes.Count-1  do
  begin
     with RespostasPendentes[I] do
     begin
        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;
  • Curtir 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 para o comentário
Compartilhar em outros sites

  • Membros Pro

Ok, Daniel. Obrigado!

 

Agora estou com o seguinte problema no demo: sempre que eu efetuo um pagamento, no qual o valor recebe um desconto, a aplicação trava.

 

Acredito que isso esteja acontecendo, porque a ECP não permite desconto depois de um pagamento.

 

Reparei que no teste feito pelo ANFM mais acima deu certo, mas não entendo como isso é possível.

 

Alguma dica em relação a este tratamento? 

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

  • Fundadores
  • Solution

Parece que você não está enviando o Desconto em OnComandaECFSubtotaliza

 

Veja trecho do TEFDDemo... observe que ele usa considera os descontos "da aplicação" e "do TEF"

 

os descontos da aplicação são obtidos lendo um componente do formulário (obviamente, você precisa rever isso de acordo com a sua aplicação)

MeuAcresDesc := StringToFloatDef( edValorDescAcre.Text, 0 );

Os Total de Descontos do TEF é informado como parâmetro de entrada do Evento

procedure TForm1.ACBrTEFD1ComandaECFSubtotaliza(DescAcre: Double;
   var RetornoECF: Integer);
Var
   Est : TACBrECFEstado ;
   MeuAcresDesc : Double ;
begin
  Memo1.Lines.Add('ComandaECFSubtotaliza: DescAcre: ' + FormatFloat('0.00',DescAcre) );

  MeuAcresDesc := StringToFloatDef( edValorDescAcre.Text, 0 );
  try
    Est := ACBrECF1.Estado;

    if Est = estNaoFiscal then
       ACBrECF1.SubtotalizaNaoFiscal( DescAcre + MeuAcresDesc, 'Projeto ACBr|http://acbr.sf.net' )
    else
       ACBrECF1.SubtotalizaCupom( DescAcre + MeuAcresDesc, 'Projeto ACBr|http://acbr.sf.net' );

    { Remove o Desconto pois já foi aplicado, caso contrário iria influenciar o
      retorno de ineSubTotal }
    edValorDescAcre.Text := '0,00';
    RetornoECF := 1 ;
  except
    RetornoECF := 0 ;
  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

Olá pessoal aproveitando que vocês estão falando de um problema pelo qual tb estou passando já tentei todas as soluções impostas aqui:

 

1 : ACBrTEFD1.SuportaDesconto := True;

     ACBrTEFD1.SuportaSaque := True;
     ACBrTEFD1.AutoEfetuarPagamento := False;   
 
2: programar o evento OnComandaECFSubtotaliza (coloquei igual ao TefDemo e nada)
 
3: tentei a solução desse post:  (que na verdade é a mesma dica das soluções 1 e 2).
 
já tentei esses três passos porém a mensagem "Aprov PP não permitida" continua, mais alguma dica ?
Link para o comentário
Compartilhar em outros sites

  • Fundadores

O problema é diferente do Post original... no seu caso há resposta negativa do SiTEF... provavelmente falta alguma configuração no SiTEF, ou vc está com o Emulador antigo...

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

Olá Daniel estou com a ultima versão que a software express disponibilizou para nós semana passada v3.0.19.26, eo problema que estou tendo é exatamente como o primeiro post do tópico, ao enviar o CRT, o Sitef me retorna essa mensagem "Aprov PP não permitida", ainda estou tentando encontrar algo no meu fonte porém sem sucesso.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Não creio que seja algo no seu fonte... e sim na configuração do seu SiTEF

 

A Sw.Express tem um Demo que vc pode usar para testar as operações... solicite para eles, e teste com o Demo deles...

 

Pode ter a ver também com o tipo de cartão que você está usando...

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

  • Moderadores

Olá Daniel estou com a ultima versão que a software express disponibilizou para nós semana passada v3.0.19.26, eo problema que estou tendo é exatamente como o primeiro post do tópico, ao enviar o CRT, o Sitef me retorna essa mensagem "Aprov PP não permitida", ainda estou tentando encontrar algo no meu fonte porém sem sucesso.

 

Isso aconteceu comigo durante uma das minhas 2 homologações de SITEF deste ano e era problema de carga de tabela no SitDemo, inclusive uma versão do SitDemo estava com problema para a carga de tabela especifica para estas operações, liguei na Software Express e eles pediram para pular o teste e anotar o número de abertura do chamado no roteiro.

 

Na outra homologação já tinha a carga de tabela, mas não estava liberado, o pessoal da Software Express me ajudar a configurar e funcionou 100%.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

Isso aconteceu comigo durante uma das minhas 2 homologações de SITEF deste ano e era problema de carga de tabela no SitDemo, inclusive uma versão do SitDemo estava com problema para a carga de tabela especifica para estas operações, liguei na Software Express e eles pediram para pular o teste e anotar o número de abertura do chamado no roteiro.

 

Na outra homologação já tinha a carga de tabela, mas não estava liberado, o pessoal da Software Express me ajudar a configurar e funcionou 100%.

 

 

Não creio que seja algo no seu fonte... e sim na configuração do seu SiTEF

 

A Sw.Express tem um Demo que vc pode usar para testar as operações... solicite para eles, e teste com o Demo deles...

 

Pode ter a ver também com o tipo de cartão que você está usando...

 

 

Regys e Daniel, primeiramente muito obrigado pelas informações, entrei em contato com pessoal da Software Express enviei o arquivo .dmp que é criado na pasta C:\CliSitef, para o técnico do suporte, ele analisou o arquivo me enviou o seguinte email:

 

 

Roney, boa noite.

 

Segue um trecho da função IniciaFuncaoSitefInterativo que está sendo enviado pela automação:

 

16:57:07: (PDV00001) CliSiTefI : IFSI (IniciaFuncaoSiTefInterativo) - hCliSiTefi = [8d6fae0]

16:57:07: (PDV00001) CliSiTefI : IFSI - Modalidade = 0

16:57:07: (PDV00001) CliSiTefI : IFSI - Valor = [30,00]

16:57:07: (PDV00001) CliSiTefI : IFSI - CupomFiscal = [000708]

16:57:07: (PDV00001) CliSiTefI : IFSI - DataFiscal = [20140415]

16:57:07: (PDV00001) CliSiTefI : IFSI - Horario = [165707]

16:57:07: (PDV00001) CliSiTefI : IFSI - Operador (40bad8/0)

16:57:07: (PDV00001) CliSiTefI : IFSI - pParamAdic = [[10]]

 

A string {TipoTratamento=4} não está presente no campo ParamAdic, no lugar está apenas um código 10 entre colchetes.

 

Por favor tente inserir esta string no parâmetro ParamAdic da IniciaFuncaoSitefInterativo.

 

Bom depois desse e-mail que ele me enviou consegui encontrar o problema, vou tentar me explicar para vocês, toda "dor de cabeça" que tive aqui da minha parte é claro, foi pq não preenchi os dados de identificação da Software House no ACBrTEFD, por conta disso a unit ACBrTEFDCliSitef.pas na linha 572 a função suporta desconto retorna False (Mesmo no componente estando SuportaDesconto e SuportaSaque igual a True), retornando false o ACBrTEFD não seta a varável PAramAdic com seus devidos valores Cielo Premia que seria:

ParamAdic:= ParamAdic + '[VersaoAutomacaoCielo='+PadL(ACBrTEFD(Owner).Identificacao.SoftwareHouse, 8 ) + '10]';

 

Preenchi os dados da Software House no ACBrTEFD, a função retornou True, a variável  ParamAdic recebeu exatamente o valor que citei acima, funcionou 100%.

 

Bom senhores espero ter contribuído com alguma coisa caso não tenham me compreendido só postar ai, e se me expressei mau ou falei algo erro já peço desculpas antecipadamente.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3682 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.