Ir para conteúdo
  • Cadastre-se

dev botao

Roteiro Cielo


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

Recommended Posts

  • Membros Pro
Postado

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?

  • Membros Pro
Postado
[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.
  • Membros Pro
Postado

Ok, obrigado!

 

No meu DEMO também funciona, mas na minha aplicação não, sendo que eu estou fazendo igual ao DEMO.

 

Você poderia me dar alguma dica sobre o que pode estar causando isso?

  • Membros Pro
Postado

Obrigado! Deu certo, ganhei o desconto.

 

Existe alguma variável onde o valor desse desconto fique armazenada? Pois se você testar no DEMO uma venda de 50 reais, efetuar o pagamento com 30 e depois 20, a aplicação trava.

  • Fundadores
Postado

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.

  • Membros Pro
Postado (editado)

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
  • Fundadores
  • Solution
Postado

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.

Postado

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 ?
  • Fundadores
Postado

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.

Postado

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.

  • Fundadores
Postado

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.

  • Moderadores
Postado

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
Postado

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.

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