Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

  • Membros Pro
Postado

Olá! Conforme o teste sequência 19 do roteiro de homologação SiTEF versão 20, o componente ACBrTEFPIX não está confirmando a operação, mesmo estando configurado pra confirmar. Segue abaixo o comando da instrução:

- Realizar uma transação com cartão de Crédito chip.

- Selecionar a opção à vista

- Quando receber o retorno de aprovação, de forma rápida precisa encerrar a aplicação, para poder simular a transação pendente de forma correta.

- Na sequência, iniciar novamente a aplicação e tratar a transação pendente pelas funções IniciaFuncaoSiTefInterativo modalidade 130 ou pela função ObtemQuantidadeTransaçõesPendentes

- Após obter os resultadosdas funções acima, enviar função“Finaliza” confirmando ou desfazendo a transação, dependendo da sua regra de negócio.

Foi detectado no arquivo .dump que o sistema até chama a função: IniciaFuncaoSiTefInterativo modalidade 130, porém não está chamando a função "Finaliza" para confirmar a operação.

  • Moderadores
Postado
1 hora atrás, adriano.quintino disse:

ACBrTEFPIX

Boa tarde
não temos esse componente, até estou olhando aqui mas para PIX só tem ACBrPIXCD e no caso não usa solução tef para interagir com o PIX é direto com psp

deva estar confundindo com ACBrTEFD ou ACBrTEFAPI

e o erro é porque tu deve por um ponto de parada para derrubar aplicação no segundo comentário e que começa com homologação na unit da sitef

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

  • Membros Pro
Postado
Em 30/08/2024 at 13:22, Juliomar Marchetti disse:

Boa tarde
não temos esse componente, até estou olhando aqui mas para PIX só tem ACBrPIXCD e no caso não usa solução tef para interagir com o PIX é direto com psp

deva estar confundindo com ACBrTEFD ou ACBrTEFAPI

e o erro é porque tu deve por um ponto de parada para derrubar aplicação no segundo comentário e que começa com homologação na unit da sitef

Eu fiz um teste utilizando o próprio TefAPIDemo.exe e ao solicitar pra retirar o cartão, eu finalizo a aplicação, porém, de qualquer forma que já tentei, ao iniciar o sistema, ele não autoriza a transação SiTEF 

  • Membros Pro
Postado

Encontrei o problema, mas não encontrei a solução.

O problema é porque o ACBrTEFAPI só cria o arquivo de retorno na pasta tef ao retirar o cartão do Pinpad, mas ele deveria criar o arquivo ao obter o retorno "APROVADO", antes mesmo de remover o cartão. Da forma que está atualmente, o teste 19 exige que finalizemos a transação após o "APROVADO", com isso, ao fechar e abrir novamente o sistema, o componente não encontra o arquivo na pasta tef e não detecta que há transações que ficaram pendentes.

  • Moderadores
Postado
Em 31/08/2024 at 16:30, adriano.quintino disse:

Encontrei o problema, mas não encontrei a solução.

O problema é porque o ACBrTEFAPI só cria o arquivo de retorno na pasta tef ao retirar o cartão do Pinpad, mas ele deveria criar o arquivo ao obter o retorno "APROVADO", antes mesmo de remover o cartão. Da forma que está atualmente, o teste 19 exige que finalizemos a transação após o "APROVADO", com isso, ao fechar e abrir novamente o sistema, o componente não encontra o arquivo na pasta tef e não detecta que há transações que ficaram pendentes.

se tu olhou no fonte em dois locais para tu por ponto de parada

tu coloca no segundo e é nele que tu vai parar para o teste

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

  • Membros Pro
Postado
3 horas atrás, Juliomar Marchetti disse:

se tu olhou no fonte em dois locais para tu por ponto de parada

tu coloca no segundo e é nele que tu vai parar para o teste

Oi Juliomar! Eu olhei no código e não encontrei estes pontos de parada a qual você se refere.

  • Membros Pro
Postado
43 minutos atrás, Juliomar Marchetti disse:

é na unit do sitef que tem no componente ACBrTEFAPI

é o segundo Homologação

Oi Juliomar, conforme está descrito na unit, pra inserirmos um break point, eu o fiz, porém, a procedure onde está a parada só é chamada quando se retira o cartão do pinpad, ou seja, se o consumidor demorar a remover o cartão e neste intervalo de tempo em que a transação foi aprovada e a retirada do cartão, o computador vier a desligar, teremos problemas porque a aplicação não vai conseguir recuperar a transação que estava pendente pois o arquivo .tef ainda não tinha sido criado pelo componente. No componente ACBrTEFD, este procedimento ocorre perfeitamente criando o arquivo .tef no mesmo instante em que se obtém o retorno AUTORIZADO mesmo que o cartão ainda não tenha sido removido do pinpad.

  • Membros Pro
Postado
7 minutos atrás, Juliomar Marchetti disse:

uma sugestão se estava usando o ACBrTEFD e ele lhe atendia em ambos os casos teria permanecido

o ACBrTEFAPI ainda tem coisas a melhorar no Sitef

estou fazendo aos poucos pois tem muita coisa que falta ou está diferente

Eu até poderia retornar pro ACBrTEFD, porém, ele também não está atendendo o teste 19 do roteiro de pré-homologação porque ele não chama a função IniciaFuncaoSiTefInterativo modalidade 130 nem a função ObtemQuantidadeTransaçõesPendente. Este foi o motivo pelo qual mudei pro componente ACBrTEDAPI, que ao meu ver, está muito próximo de ficar perfeito 100%.

  • Moderadores
Postado
1 hora atrás, adriano.quintino disse:

Eu até poderia retornar pro ACBrTEFD, porém, ele também não está atendendo o teste 19 do roteiro de pré-homologação porque ele não chama a função IniciaFuncaoSiTefInterativo modalidade 130 nem a função ObtemQuantidadeTransaçõesPendente. Este foi o motivo pelo qual mudei pro componente ACBrTEDAPI, que ao meu ver, está muito próximo de ficar perfeito 100%.

atende sim. é só no evento do componente tu programar pra usar a chamada obtemquantidadetransacoesxxxx

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

  • 1 mês depois ...
Postado
Em 02/09/2024 at 18:21, Juliomar Marchetti disse:

atende sim. é só no evento do componente tu programar pra usar a chamada obtemquantidadetransacoesxxxx

Juliomar, também estou tendo problemas para homologar essa etapa. 
Como programo no componente para usar a chamada a obtemquantidadetransacoesxxxx ?

Postado
21 horas atrás, Juliomar Marchetti disse:

nos eventos.

ele tem os eventos que é disparados certo? senão me engano tem o OnInfECF

e senão falho a memoria ao inicializar é bem lá que ele lê então é só tu chamar esse método lá

Fiz conforme sugeriu. O evento é o "ACBrTEFD1InfoECF":
         ACBrTEFD1.TEFCliSiTef.ObtemQuantidadeTransacoesPendentes(Now, '0');
É sempre retornado o código -13, o que indica que não há transação pendente.

Mas, independentemente do ponto que o coloco, o retorno é sempre o mesmo.
Eu opto pelo cancelamento, mas a transação continua pendente. E como disse o adriano.quintinonão existe arquivos na pasta "...\TEF". Dessa forma nada ocorre com a transação no SiTef.

image.png.fce6fc47e6c21df8ce3faa7f0ef5d947.png

image.thumb.png.b458ff003d55da541f992f8ee23d75aa.png

Postado
Em 02/09/2024 at 16:49, adriano.quintino disse:

Eu até poderia retornar pro ACBrTEFD, porém, ele também não está atendendo o teste 19 do roteiro de pré-homologação porque ele não chama a função IniciaFuncaoSiTefInterativo modalidade 130 nem a função ObtemQuantidadeTransaçõesPendente. Este foi o motivo pelo qual mudei pro componente ACBrTEDAPI, que ao meu ver, está muito próximo de ficar perfeito 100%.

 

Adriano, você encontrou a solução para o teste 19 do roteiro? Estou também com o mesmo problema. Quando faço chamada à função ObtemQuantidadeTransaçõesPendente, o retorno é sempre -13 (não encontrou). Embora a transação esteja mesmo pendente.
Você conseguiu encontrar uma solução?

  • Moderadores
Postado
1 hora atrás, Masoro79 disse:

Fiz conforme sugeriu. O evento é o "ACBrTEFD1InfoECF":
         ACBrTEFD1.TEFCliSiTef.ObtemQuantidadeTransacoesPendentes(Now, '0');
É sempre retornado o código -13, o que indica que não há transação pendente.

Mas, independentemente do ponto que o coloco, o retorno é sempre o mesmo.
Eu opto pelo cancelamento, mas a transação continua pendente. E como disse o adriano.quintinonão existe arquivos na pasta "...\TEF". Dessa forma nada ocorre com a transação no SiTef.

image.png.fce6fc47e6c21df8ce3faa7f0ef5d947.png

image.thumb.png.b458ff003d55da541f992f8ee23d75aa.png

Sim ele não existe, mas fazendo essa consulta vem os dados necessários pra tu poder chamar o cancelamento

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

Postado
8 horas atrás, Juliomar Marchetti disse:

Sim ele não existe, mas fazendo essa consulta vem os dados necessários pra tu poder chamar o cancelamento

Juliomar, o método "ObtemQuantidadeTransacoesPendentes" faz a chamada direta à DLL. O retorno dela é integer. O retorno é sempre -13.
E mesmo que eu ignore esse retorno e chame o método CancelarTransacoesPendentes nada ocorre, pois não é encontrado evidência de que exista transação pendente.

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.