Ir para conteúdo
  • Cadastre-se

dev botao

Homologação Do Tef


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

Recommended Posts

Olá.

Enviei na semana passada o arquivo para NTK para homologação do Tef porém não me atentei ao detalhe de que a implementação do Saque e do desconto são obrigatórias com o Pay&Go.

Todos os outros testes foram OK porém quando executo o passo 30 e 31 que são para retornar Desconto e Troco na venda o Pay&Go retorna a seguinte mensagem:

"Alteração de valor não permitida!"

Se puderem me ajudar serei muito grato já que não faço ideia do que preciso alterar para habilitar esta opção no PAF.

P.S.

Já conferi o componente ACBRTEF e ele está com as propriedades SuportaSaque e SuportaDesconto com o Valor True.

Eu comando o pagamento via cartão com a seguinte chamada:

StatusTransacao := ACBrTEFD.CRT(ValorInformado, TipoPagamento.Codigo, FDataModule.ACBrECF.NumCOO);

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Olha não tem nada em habilitar no PAF, onde são duas coisas distintas!

 

Mas o caso do saque e desconto tem no próprio demo do tef no svn

confere nele que tem todo o codigo lá pra ti

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

O Cielo premia é obrigatório e ele possui saque e desconto, mas o saque é opcional, se você optar por não fazer, eles não vão testar e isso vai constar na sua homologação e você não vai poder trabalhar com essa funcionalidade.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

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

Finalmente concluí todos os testes da NTK, com muito sacrificio porque mesmo com os testes constando como "Passo OK" as vezes o cabeçalho do passo não gravava no arquivo, até onde me consta isto é falha do Pay&Go... mas fui repetindo com calma até que concluiu.

o problema que eu estava tendo foi solucionado pela dica do regys, muito obrigado Regys e Juliomar, acho que não terei mais problemas com a homologação do Tef.

Link para o comentário
Compartilhar em outros sites

  • 10 meses depois ...

Bom dia pessoal, estou com o mesmo problema comentado acima, porém no passo 23.

O problema neste caso é que o faço a venda com os 10 reais indicados na descrição do teste, ele retorna tudo ok, segundo conferi no log,chega a exibir "aprovada" e o número da autorização, porém logo em seguida exibe a mensagem "ALTERACAO DE VALOR NAO PERMITIDA" e cancela a operação.

Não consigo identificar onde o meu módulo está bloqueando a atualização no valor.

Se alguém souber algo que possa ajudar, agradeço.

 

Até mais

Link para o comentário
Compartilhar em outros sites

Boa tarde, então, os logs ficaram assim: 
 
ecf.log: (a partir do VendeItem do cupom. É um produto de 10,00 de valor)

-- 16:56:27:580 VendeItem( 1 , CERTIFICACAO TEF , 017 , 1 , 10 , 0 , UN , % , D , -1 )
                TX -> [FS]F[207]06000100000010000000000000000181             UN ACERTIFICACAO TEF[255]@
   16:56:27:740 RX <- :0000000[207]001000000001000[CR][248]
-- 16:56:27:748 Arredonda
                TX -> [FS]R[200]078[185]
   16:56:28:031 RX <- :[200]078DR0912BR000000330725 [CR][236]
-- 16:56:28:038 GrandeTotal
                TX -> [FS]R[200]001[183]
   16:56:28:181 RX <- :[200]001000000000474225838[CR]
-- 16:56:40:081 Estado
                TX -> [FS]R[200]056[181]
   16:56:40:216 RX <- :[200]0561[CR][253]
-- 16:56:40:223 
                TX -> [FS]R[200]057[180]
   16:56:40:361 RX <- :[200]0571[CR][252]
-- 16:56:40:387 Subtotal
                TX -> [FS]R[200]047[181]
   16:56:40:513 RX <- :[200]047000000001000[CR][205]
-- 16:56:40:517 TotalPago
                TX -> [FS]R[200]048[186]
   16:56:40:664 RX <- :[200]0480000000000000[CR][243]
-- 16:56:40:690 TotalPago
                TX -> [FS]R[200]048[186]
   16:56:40:813 RX <- :[200]0480000000000000[CR][243]
 

e o tef.log: (a partir do começo da certificação, já comecei no passo 23, então tudo que está aí é do fechamento da venda feita para o passo)

 

-- 09/01 16:56:20:931 - TEF_DIAL DoExibeMsg: Oper: opmOK Mensagem: CERTIFICACAO INICIADA!
-- 09/01 16:56:21:459 - TEF_DIAL FinalizarResposta: ADM
-- 09/01 16:56:40:075 - InfoECF: ineEstadoECF
-- 09/01 16:56:40:368 -     Ret: V
-- 09/01 16:56:40:378 - InfoECF: ineSubTotal
-- 09/01 16:56:40:671 -     Ret: 10
-- 09/01 16:56:40:682 - InfoECF: ineTotalAPagar
-- 09/01 16:56:40:819 -     Ret: 0
-- 09/01 16:56:40:828 - TEF_DIAL IniciarRequisicao: CRT
-- 09/01 16:56:40:837 - ConfirmarTransacoesAnteriores
-- 09/01 16:56:40:846 - TEF_DIAL IniciarRequisicao: ATV
-- 09/01 16:56:40:858 - TEF_DIAL FinalizarRequisicao: ATV, Fechando arquivo: C:\TEF_DIAL\req\intpos.tmp
-- 09/01 16:56:40:892 - TEF_DIAL FinalizarRequisicao: ATV, Renomeando: C:\TEF_DIAL\req\intpos.tmp para: C:\TEF_DIAL\req\intpos.001
-- 09/01 16:56:40:897 - TEF_DIAL FinalizarRequisicao: ATV, Aguardando: C:\TEF_DIAL\resp\intpos.sts
-- 09/01 16:56:41:158 - TEF_DIAL FinalizarRequisicao: ATV, Fim da Espera de: C:\TEF_DIAL\resp\intpos.sts Recebido
-- 09/01 16:56:41:167 - TEF_DIAL FinalizarRequisicao: ATV, Verificando conteudo de: C:\TEF_DIAL\resp\intpos.sts
-- 09/01 16:56:41:181 - TEF_DIAL FinalizarRequisicao: CRT, Fechando arquivo: C:\TEF_DIAL\req\intpos.tmp
-- 09/01 16:56:41:226 - TEF_DIAL FinalizarRequisicao: CRT, Renomeando: C:\TEF_DIAL\req\intpos.tmp para: C:\TEF_DIAL\req\intpos.001
-- 09/01 16:56:41:230 - TEF_DIAL FinalizarRequisicao: CRT, Aguardando: C:\TEF_DIAL\resp\intpos.sts
-- 09/01 16:56:41:485 - TEF_DIAL FinalizarRequisicao: CRT, Fim da Espera de: C:\TEF_DIAL\resp\intpos.sts Recebido
-- 09/01 16:56:41:489 - TEF_DIAL FinalizarRequisicao: CRT, Verificando conteudo de: C:\TEF_DIAL\resp\intpos.sts
-- 09/01 16:56:41:493 - TEF_DIAL LerRespostaRequisicao: CRT, Aguardando: C:\TEF_DIAL\resp\intpos.001
-- 09/01 16:56:50:791 - TEF_DIAL LerRespostaRequisicao: CRT, Fim da Espera de: C:\TEF_DIAL\resp\intpos.001 Recebido
-- 09/01 16:56:50:796 - TEF_DIAL LerRespostaRequisicao: CRT, Verificando conteudo de: C:\TEF_DIAL\resp\intpos.001
-- 09/01 16:56:50:799 - TEF_DIAL ProcessarRespostaPagamento: CRT - 60824 Indice: 06 Valor:10,00
-- 09/01 16:56:50:803 - TEF_DIAL ProcessarResposta: CRT
-- 09/01 16:56:50:806 - TEF_DIAL DoExibeMsg: Oper: opmOK Mensagem: ALTERACAO DE VALOR NAO PERMITIDA
-- 09/01 16:56:52:768 - TEF_DIAL FinalizarResposta: CRT

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Este passo 23 pede para fazer a venda em qual valor?

Este erro pelo que vi do log foi retornado pelo TEF o ACBrTEFD somente o lê e envia para mostrar ao usuário.

 

Lembre que em homologação nada pode ser alterado, deve-se fazer exatamente como pede o roteiro, no caso do NTK em que os testes são automatizados pelo gerenciador de homologação, essa regra deve ser seguida a risca.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

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

Opa, desculpe, não encontrei na outra postagem aqui como anexar o log, agora olhando com cuidado encontrei onde seleciono os arquivos.

 

Estou anexando aqui três logs: o do acbrtef, do acbrecf e o da certificação, que no manual recomendam acompanhar.

 

Régys, o valor da venda solicitado pelo teste é de 10,00 segundo o roteiro. Enviei este valor no cupom. Neste "arquivo certif_150109.txt" dá para visualizar a situação. Ele autoriza a transação e chega a enviar o retorno para o tef, aparece nesse log o cupom de retorno conforme descrito no teste:

 

"VALOR FINAL: R$ 9,00           
VALOR ORIGINAL: R$ 10,00
DESCONTO: R$ 1,00"
 
mas alguma coisa acontece que a aplicação parece não retornar ok para o módulo, daí ele cancela a operação, com a mensagem "ALTERACAO DE VALOR NAO PERMITIDA" no próprio módulo da certificação. Nesse log da certificação aparece a mensagem "Recebido evento 103" e daí não conclui o passo.
 
Arquivos:
 
Desde já agradeço,
Diogo
Editado por diogoho
Link para o comentário
Compartilhar em outros sites

Ola Régys, obrigado pela resposta.

Em que momento devo tratar a recepção do desconto? Devo capturar esse desconto em algum evento desses componentes?

Não consegui verificar no exemplo do ACBrTEFD que vem junto do acbr nenhum lugar onde se captura esse desconto...

 

Agradeço novamente a ajuda,

Diogo

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia!

tem certeza? olhe no componente que está em questão usando que é o ACBrTEFD existe o evento para subtotalizar e lá você vai buscar os valores e efetuar a subtotalização com o valor retornado!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Olá Juliomar, obrigado pela resposta.

 

Então, no evento que subtotaliza, o ACBrTEFDComandaECFSubtotaliza, meu código está assim:

Var
   Est : TACBrECFEstado ;
begin
  try
    Est := ACBrECF.Estado;

    if Est = estNaoFiscal then
      ACBrECF.SubtotalizaNaoFiscal( DescAcre )
    else
      ACBrECF.SubtotalizaCupom( DescAcre );

    RetornoECF := 1 ;
  except
    RetornoECF := 0 ;
  end;

Idêntico ao do exemplo...

O problema é que não chega nem nesse evento, dá erro antes, por qualquer motivo desconhecido por mim. Não estou subtotalizando antes de gerar o pagamento com o tef, o status do acbrecf está em "estVenda".

Rodei o exemplo do acbrtefd da seguinte maneira: abro o cupom, vendo um item de 10,00 reais, daí eu mando um crt com esse valor.

Ele faz a operação com a administradora, dá autorizada, daí ele fecha o cliente do pay&go e entra no evento citado acima.

No caso do meu, faço da mesma maneira, status estVenda normal no acbrecf, marcado "true" no "autofinalizarcupom" no acbrtefd, conforme no exemplo do acbr. Quando abro o módulo cliente do pay&go ele faz a transação, dá autorizada, porém em vez de fechar o cliente do pay&go como no exemplo do acbr, ele já dá a mensagem "ALTERACAO DE VALOR NAO PERMITIDA" no próprio cliente do pay&go antes de entrar no evento de subtotalização.

Marquei em negrito esses dois trechos para mostrar a diferença entre o meu e o exemplo do acbr. Por funcionar no exemplo do acbr e não no meu módulo, é evidente que o problema está no meu sistema, porém não estou encontrando a diferença entre o meu componente e o do exemplo que gera a diferença...

 

Agradeço novamente pela atenção de todos,

Diogo

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

Vi que o intpos.001 gerado pela dll do ACBr não seta valores para alguns códigos, detre eles o 706-000 Capacidades da Automação,  708-000 Valor do troco e 709-000 Valor do desconto. Sendo o primeiro obrigatório. O que estou esquecendo?

 

Estou utilizando a DLL .Net

Editado por Leonardo Victor Balarini
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Consultores

Teste com o exemplo do ACBrTEFD.

Deu certo?

Quais são os passos para reproduzir?

O que aconteceu?

O que você esperava que acontecesse?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

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