Jump to content

dev botao

Cancelar solicitação de transação PIX


Hetosoft Sistemas
Go to solution Solved by Daniel Simoes,
  • Este tópico foi criado há 1004 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Bom dia.

Existe a possibilidade de cancelar uma solicitação de transação PIX antes do timeout? Por exemplo, a opção PIX é chamada mas aí o cliente percebe que o celular descarregou e não vai ter como fazer o pagamento.

Mexendo aqui eu percebi que quando é PIX o evento ACBrTED.AguardaResp não é disparado, como acontece com o cartão? É isso mesmo?

Link to comment
Share on other sites

  • Moderadores
6 minutos atrás, hetoandrade disse:

Bom dia.

Existe a possibilidade de cancelar uma solicitação de transação PIX antes do timeout? Por exemplo, a opção PIX é chamada mas aí o cliente percebe que o celular descarregou e não vai ter como fazer o pagamento.

Mexendo aqui eu percebi que quando é PIX o evento ACBrTED.AguardaResp não é disparado, como acontece com o cartão? É isso mesmo?

Veja se está falando da chamada através de Carteira Digital no TEF existe no PaygoWeb e Sitef

ele vai mostrar e esperar o pagamento e aprova.

mas ele não funciona igual a um pagamento PIX de app de celular que tu pode cancelar ou devolver o valor.

acho que o @antonio.carlos ou @DanieliLeticia podem falar mais

  • Like 1
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
 

 

Link to comment
Share on other sites

  • Membros Pro
1 minuto atrás, Juliomar Marchetti disse:

ele vai mostrar e esperar o pagamento e aprova.

Isso. Essa parte. Uso Sitef. E já está implementado o pagamento PIX no meu sistema desde o ano passado.

A minha duvida é, se depois que mostra o QRCode e fica esperando o pagamento, tem como enviar um comando de cancelar (não cancelar uma transação já efetuada, mas cancelar essa "espera") para liberar a aplicação e liberar o PinPad.

  • Like 1
Link to comment
Share on other sites

  • Fundadores

Para que o ACBrTEFD possa disparar os eventos  ACBrTED.OnAguardaResp , é necessário que a API (dll) do TEF, rode o processo de espera em Loops de chamadas...

Pode ser que a DLL esteja bloqueando a chamada, aguardando a resposta... Em todo caso, eu não tenho o ambiente do SiTEF, de carteiras digitais, e não saberia lhe dizer, como ele funciona...

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 to comment
Share on other sites

  • Membros Pro
5 minutos atrás, Daniel Simoes disse:

Para que o ACBrTEFD possa disparar os eventos  ACBrTED.OnAguardaResp , é necessário que a API (dll) do TEF, rode o processo de espera em Loops de chamadas...

Pode ser que a DLL esteja bloqueando a chamada, aguardando a resposta... Em todo caso, eu não tenho o ambiente do SiTEF, de carteiras digitais, e não saberia lhe dizer, como ele funciona...

Tem algum especialista no ambiente do Sitef na equipe?

Link to comment
Share on other sites

  • Fundadores

Creio que seja algo que você deva endereçar para o Suporte deles...

por favor entenda que não é uma caracteristica do ACBrTEFD.. Se a DLL fizer loops na chamada, o componente irá disparar o evento...

Em TACBrTEFDCliSiTef.ContinuarRequisicao, você pode ver os momentos que o evento dispara o evento OnAguardaResp

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 to comment
Share on other sites

  • Moderadores

Conforme citado pelo Daniel já temos esse tratamento e ele funciona para cartão então deve e tem que funcionar para esse caso também

image.png

coloque um evento na tela que exibe o QrCode ou um botão e altera a variável FCanceladoPeloOperador pra true e ele deve de cair fora

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
 

 

Link to comment
Share on other sites

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

coloque um evento na tela que exibe o QrCode ou um botão e altera a variável FCanceladoPeloOperador pra true e ele deve de cair fora

Pois é, eu realmente vi, e pensei que aconteceria isso. Mas não aconteceu. É difícil testar porque o QrCode em Debug autoriza direto aí não dá tempo pra saber o que esta acontecendo 😕

O que vocês disseram sobre o que acontece com o cartão corrobora com o que eu disse no post da criação do tópico: "como acontece com o cartão".

Mas deve ser algo na DLL mesmo porque o evento que acontece no cartao nao acontece com o PIX.

Obrigado pela ajuda, se alguém souber de algo a mais, por favor postem aí.

 

PS: Ninguem precisou implementar uma chamada para desistencia da chamada do QrCode?

Link to comment
Share on other sites

  • Membros Pro

-- 12/11 10:54:24:276 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 3 TipoCampo = -1 Buffer = Solicite a leitura do QR Code no pinpad utilizando o Smartphone Tam.Min = 0 Tam.Max = 0
-- 12/11 10:54:24:296 - CliSiTef DoExibeMsg: Oper: opmExibirMsgOperador Mensagem: Solicite a leitura do QR Code no pinpad utilizando o Smartphone
-- 12/11 10:54:24:318 - CliSiTef DoExibeMsg: Oper: opmExibirMsgCliente Mensagem: Solicite a leitura do QR Code no pinpad utilizando o Smartphone
-- 12/11 10:54:24:335 - ContinuaFuncaoSiTefInterativo, Chamando: Continua = 0 Buffer = 
-- 12/11 10:54:24:907 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 0 TipoCampo = 0 Buffer = 672 Tam.Min = 0 Tam.Max = 0
-- 12/11 10:54:24:916 - ContinuaFuncaoSiTefInterativo, Chamando: Continua = 0 Buffer = 
-- 12/11 10:54:24:942 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 0 TipoCampo = 106 Buffer = 00600012 Tam.Min = 0 Tam.Max = 0
-- 12/11 10:54:24:953 - ContinuaFuncaoSiTefInterativo, Chamando: Continua = 0 Buffer = 
-- 12/11 10:54:24:978 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 0 TipoCampo = 107 Buffer = PicPay Tam.Min = 0 Tam.Max = 0
-- 12/11 10:54:24:988 - ContinuaFuncaoSiTefInterativo, Chamando: Continua = 0 Buffer = 
-- 12/11 10:54:25:014 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 0 TipoCampo = 131 Buffer = 00271 Tam.Min = 0 Tam.Max = 0
-- 12/11 10:54:25:026 - ContinuaFuncaoSiTefInterativo, Chamando: Continua = 0 Buffer = 
-- 12/11 10:54:25:052 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 3 TipoCampo = -1 Buffer = Aguarde, em processamento... Tam.Min = 0 Tam.Max = 0
-- 12/11 10:54:25:064 - CliSiTef DoExibeMsg: Oper: opmExibirMsgOperador Mensagem: Aguarde, em processamento...
-- 12/11 10:54:25:079 - CliSiTef DoExibeMsg: Oper: opmExibirMsgCliente Mensagem: Aguarde, em processamento...
-- 12/11 10:54:25:095 - ContinuaFuncaoSiTefInterativo, Chamando: Continua = 0 Buffer = 
-- 12/11 10:54:25:144 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 3 TipoCampo = -1 Buffer = Aguarde, em processamento...(35) Tam.Min = 0 Tam.Max = 0
-- 12/11 10:54:25:154 - CliSiTef DoExibeMsg: Oper: opmExibirMsgOperador Mensagem: Aguarde, em processamento...(35)
-- 12/11 10:54:25:168 - CliSiTef DoExibeMsg: Oper: opmExibirMsgCliente Mensagem: Aguarde, em processamento...(35)
-- 12/11 10:54:25:179 - ContinuaFuncaoSiTefInterativo, Chamando: Continua = 0 Buffer = 
-- 12/11 10:54:26:228 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 3 TipoCampo = -1 Buffer = Aguarde, em processamento...(34) Tam.Min = 0 Tam.Max = 0
-- 12/11 10:54:26:237 - CliSiTef DoExibeMsg: Oper: opmExibirMsgOperador Mensagem: Aguarde, em processamento...(34)
-- 12/11 10:54:26:249 - CliSiTef DoExibeMsg: Oper: opmExibirMsgCliente Mensagem: Aguarde, em processamento...(34)

 

Daí pra frente fica as linhas de baixo até o timeout
-- 12/11 10:54:25:179 - ContinuaFuncaoSiTefInterativo, Chamando: Continua = 0 Buffer = 
-- 12/11 10:54:26:228 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 3 TipoCampo = -1 Buffer = Aguarde, em processamento...(34) Tam.Min = 0 Tam.Max = 0
-- 12/11 10:54:26:237 - CliSiTef DoExibeMsg: Oper: opmExibirMsgOperador Mensagem: Aguarde, em processamento...(34)
-- 12/11 10:54:26:249 - CliSiTef DoExibeMsg: Oper: opmExibirMsgCliente Mensagem: Aguarde, em processamento...(34)

Edited by hetoandrade
Link to comment
Share on other sites

  • Fundadores

Segundo esse tópico abaixo..

 

Deveria haver um retorno da DLL com ProximoComando = 52... No seu Log parece não ocorrer isso.. deve ser alguma configuração no módulo

                 52 :   // Mensagem de rodapé QRCode
                   begin
                     Interromper := False;
                     OnAguardaResp('52', 0, Interromper);
                     if Interromper then
                     begin
                       Continua := -1 ;
                       FinalizarTransacaoInterrompida := True;
                     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 to comment
Share on other sites

  • Fundadores

Está no seu Log...

Citar

-- 12/11 12:05:05:352 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 52 TipoCampo = 4128 Buffer = Aguarde, em processamento...(35) Tam.Min = 0 Tam.Max = 0
-- 12/11 12:05:05:357 - ContinuaFuncaoSiTefInterativo, Chamando: Continua = 0 Buffer =

Provavelmente você não está tratando o 52, no lado da aplicação, em OnAguardaResp

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 to comment
Share on other sites

  • Membros Pro
4 minutos atrás, Daniel Simoes disse:

Está no seu Log...

Provavelmente você não está tratando o 52, no lado da aplicação, em OnAguardaResp

 

Sim, entendi Daniel. Porém o evento AguardaResp não é disparado em momento algum quando uso Carteira Digital. No Cartão sim, mas no QrCode não. Pelo menos aqui pra mim não cai nenhuma vez no AguardaResp quando uso o PIX

7 horas atrás, hetoandrade disse:

Mexendo aqui eu percebi que quando é PIX o evento ACBrTED.AguardaResp não é disparado, como acontece com o cartão? É isso mesmo?

 

Link to comment
Share on other sites

  • Fundadores

Se os seus fontes do ACBr, estão corretamente atualizados, essa linha abaixo, dispara o evento SIM

Citar

-- 12/11 12:05:05:352 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 52 TipoCampo = 4128 Buffer = Aguarde, em processamento...(35) Tam.Min = 0 Tam.Max = 0
-- 12/11 12:05:05:357 - ContinuaFuncaoSiTefInterativo, Chamando: Continua = 0 Buffer =

 

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 to comment
Share on other sites

  • Membros Pro
4 minutos atrás, Daniel Simoes disse:

Se os seus fontes do ACBr, estão corretamente atualizados, essa linha abaixo, dispara o evento SIM

 

Vou tratar o '52' especificamente aqui pra ver. Mas no teste que eu fiz, eu coloquei um ShowMessage na primeira linha de código do Evento, já que com PIX não dá pra debugar. E a mensagem não apareceu, já quando eu seleciono cartão e aperto ESC pra desistir da transação o ShowMessage aparece.

Mas vou tratar o '52' especificamente.

Link to comment
Share on other sites

  • Membros Pro

Segue agora o exemplo usando o TEFDemo.

Vejam na primeira imagem, que a mensagem lá em cima está aparecendo Caixa Livre porque Pressionei o ESC pra cancelar, e o ESC novamente pra deixar o Status Livre, porém o log continua adicionando linhas sem parar com a mesma instrução. 

Pela horário mostrado na imagem vocês poderão ver que eu tentei desistir da transação às 17:36, porém o log continuara "esperando algo acontecer" até as 17:38.

Log gerado pelo ACBrTEDemoNF

Screenshot_1.png

CliSiTef.log

Link to comment
Share on other sites

  • 6 months later...
  • Fundadores

@hetoandrade, creio que as correções implementadas nesse tópico abaixo, podem resolver o problema... (basta atualizar os fontes)

 

  • Like 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 to comment
Share on other sites

  • 3 weeks later...
  • Este tópico foi criado há 1004 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...