Ir para conteúdo
  • Cadastre-se

dev botao

ACBrTEFD não prossegue no passo 17 do roteiro da PayGo


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

Recommended Posts

Quando tento executar o passo 17 do roteiro de testes da certificação PayGo, que envolve a questão de venda com valor reajustado em 50% menor que o original, a operação não está sendo processada.

No teste faço uma venda no valor de R$10,00 e o TEF me retorna um valor de R$5,00 para ser ajustado no valor da venda. A configuração TEFPayGo.SuportaReajusteValor está True, assim como SuportaDesconto e SuportaSaque.

Percebi que o método TACBrTEFDRespTXT.ConteudoToProperty não faz tratamento do registro 744 (reajuste do valor).

A questão é que no final do método TACBrTEFDClass.ProcessarRespostaPagamento há uma condição que só finaliza o cupom e imprime as transações pendentes se TACBrTEFD(Owner).RespostasPendentes.SaldoRestante for menor o igual a zero e o resutado está dando 5 (tendo em vista que na chamada a ACBrTED.CRT foi passado o valor 10).

Fiz um teste também com o TEFDemoNF e não passou.

Há algum procedimento que preciso fazer para prosseguir com este teste?

Hugo Leonardo

Programador

Link para o comentário
Compartilhar em outros sites

Tanto a minha aplicação quanto o TEFDemoNF estão devidamente configurados com PayGo e marcadas as opções "Suporta Desconto", "Suporta Saque", "Suporta Reajuste Valor" e "Múltiplos Cartões", conforme imagem da tela de configurações em anexo.

Para preparar este teste inicialmente abri as opções administrativas do TEF e configurei os passos de certificação para começar a partir do Teste 17.

Iniciei uma venda de R$10,00 no cartão de crédito e quando o TEF retornou os dados da operação o TEFDemoNF nao fez o devido processamento e o log parou na linha "PagGo FinalizarResposta: CRT", conforme pode ser visto no arquivo de log anexo.

Quando acionei a opção "ESC - Cancelar" o TEFDemoNF acionou um NCN e anulei a operação.

Em um segundo momento, repeti a operação e ao invés de acionar a opção "ESC - Cancelar" eu inclui uma nova forma de pagamento em dinheiro com o valor restante da operação e aí sim o TEFDemoNF gerou o CNF e imprimiu os comprovantes.

O que observei é que o TEFDemoNF não processou o retorno do teste 17 e, consequentemente, não reajustou o "Total Operação" para R$5,00 para obedecer o teste.

Reforço o que já havia percebido nos métodos TACBrTEFDRespTXT.ConteudoToPropertyTACBrTEFDClass.ProcessarRespostaPagamento relatados na minha pergunta inicial.

 

Configuração TEFDemoNF.jpg

Teste 17 no TEFDemoNF.jpg

logtef.log

Hugo Leonardo

Programador

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Eu não compreendi o seu passo a passo... Compreendi que é no teste 17... mas poderia por favor ser mais objetivo:

- O que ocorre na transação ? O que deveria ocorrer ?

Não senti necessidade de capturar o campo 744, pois o valor total, já vem reajustado.. e o componente lê descontos e acréscimos de outros campos

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

O que ocorre na transação: O componente não envia o CNF para o gerenciador padrão.

O que deveria ocorrer: O componente deveria ajustar internamente o valor do pagamento retornado pelo TEF e enviar um CNF para o gerenciador padrão. Como o reajuste não é feito fica uma diferença de 50% restante para completar o valor do pagamento e o ACBrTefD não prossegue.

Como mencionei anteriormente quando havia depurado os passos detectei que no final do método TACBrTEFDClass.ProcessarRespostaPagamento há uma condição que só finaliza o cupom e imprime as transações pendentes se TACBrTEFD(Owner).RespostasPendentes.SaldoRestante for menor o igual a zero e o resutado está dando 5 (tendo em vista que na chamada a ACBrTED.CRT foi passado o valor 10). Consequentemente também acredito que o envio do CNF está sujeito a essa mesma condição.

Hugo Leonardo

Programador

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Eu creio que o componente está se comportando de forma correta...

Não houve Desconto (709) na Operação, e sim uma redução do Valor do pagamento... Isso poderia ocorrer, por exemplo, quando o Cartão do Cliente não tem fundos suficientes, ou a Operadora não liberar todo o valor solicitado...

Dessa forma, o Programa deve registrar o Pagamento com o Valor ajustado, e aguardar um novo pagamento (ou desconto), para fechar o cupom...

o CNF, somente será enviado, após o fechamento do cupom...

image.png

  • 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

Tem razão Daniel, eu não estava entendendo corretamente o enunciado do teste 17, nem da documentação sobre o reajuste de valor e achei que era pra diminuir o valor da forma.

Vou prosseguir conforme suas orientações.

Deixo aqui registrado meus agradecimentos pela atenção dada e os esclarescimentos.

  • Curtir 1

Hugo Leonardo

Programador

Link para o comentário
Compartilhar em outros sites

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