Ir para conteúdo
  • Cadastre-se

dev botao

Fluxo, correto, para recebimento via QrCode


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

Recommended Posts

Postado

Bom dia senhores, gostaria da contribuição de vcs sobre como tratar o recebimento com QRCode. Qual o fluxo correto ?

Hj quando realizamos a venda com TEF, se cartão aprovado finaliza a NFC-e e imprime o comprovante TEF, se negado, cancela toda a transação.. No caso do QrCode como fica isso, pelo que vi, recebo uma string das operadores e mostro na tela essa string como QrCode, então o cliente lê esse QrCode com o aplicativo do banco instalado no celular do mesmo. Duvida, como fico sabendo se essa transação foi aprovado ou rejeitada pelo banco, quando devo finalizar ou cancelar a venda ?

Abaixo exemplo de como estou tratando essa informação

 

image.thumb.png.caef0c1960789ba8d7e53cd81663cf85.png

  • Moderadores
Postado

Creio que a pintura que fez a seguir deveria de ficar em uma tela modal esperando algo.

se com o pinpad ele envia e mostra no pinpad e o sistema fica esperando algo creio que seja no mesmo sentido, não será somente pintar em um formulário ele vai esperar um callback

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

Obrigado pela resposta Julio. Sim ja alterei isso, coloquei o QrCode em outra tela, aguardando algo, o problema e saber o que ? Não existe homologação para esse tipo de implementação..

  • Curtir 1
  • Moderadores
Postado
2 minutos atrás, ALA disse:

Obrigado pela resposta Julio. Sim ja alterei isso, coloquei o QrCode em outra tela, aguardando algo, o problema e saber o que ? Não existe homologação para esse tipo de implementação..

Creio que quem possa responder é isso seria a softwareexpress ou skytef

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

Pessoa, bom dia. Resposta da SkyTEf

 

Tirando o valor devolvido para montar o QRCode, o fluxo é o mesmo de transações de vendas com Crédito ou Débito.

Com isso a FinalizaFuncaoSiTefInterativo é envia quando o retorno da ContinuaFuncaoSiTefInterativo for igual a 0 (zero).

O fluxo realmente é o mesmo, tem poucos ajustes a serem realizados.

  Alguém poderia me ajudar a montar esse fluxo ?

 

  • Consultores
Postado
1 hora atrás, ALA disse:

Pessoa, bom dia. Resposta da SkyTEf

 

Tirando o valor devolvido para montar o QRCode, o fluxo é o mesmo de transações de vendas com Crédito ou Débito.

 

Com isso a FinalizaFuncaoSiTefInterativo é envia quando o retorno da ContinuaFuncaoSiTefInterativo for igual a 0 (zero).

 

O fluxo realmente é o mesmo, tem poucos ajustes a serem realizados.

 

 

  Alguém poderia me ajudar a montar esse fluxo ?

 

 

 

Oi ALA, bom dia.

Como você mesmo disse, é o mesmo fluxo do Cartão. Então, se você já tem implementado o cartão, já tem o fluxo implementado.

Que tipo de ajuda você precisa?

[]'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.
Postado

Quando recebo o retorno da carteira, se a sring do QrCode estiver preenchida eu abro uma nova tela, mostranndo o QrCode. Ate ai blz, a duvida é, como saber se a transação foi aprovada ou não ? Se aprovada fecho a tela e transmito a nfce, se não foi aprovada, rejeito a transação ?

  • 3 semanas depois ...
Postado

Existem 2 formas de integrar.

Todos os provedores de pagamento digital (PicPay, Ame, Mercado Pago) solicitam que, no endpoint da API que gera o QR Code, você forneça uma url de callback, para eles lhe responderem quanto à aprovação do pagamento (quando o cliente pagar via app deles no celular). 

Então, você pode fazer das seguintes formas:

1 - automatizado: sua url de callback grava no seu servidor a resposta. Vc cria um objeto no PDV no Padrão de Projeto Observer, que tão logo o cliente pague, vc lê (através do Redis por exemplo) e conclui a transação no PDV.

2 - manualmente, criando uma função de capturar resultado. Cliente paga, o callback grava o resultado e então vc lê este resultado.

Espero ter ajudado.

Charles

  • 1 mês depois ...
  • Membros Pro
Postado
Em 03/08/2020 at 09:53, ALA disse:

Quando recebo o retorno da carteira, se a sring do QrCode estiver preenchida eu abro uma nova tela, mostranndo o QrCode. Ate ai blz, a duvida é, como saber se a transação foi aprovada ou não ? Se aprovada fecho a tela e transmito a nfce, se não foi aprovada, rejeito a transação ?

Estou com esse mesmo problema, se alguém ja conseguiu resolver de uma dica. 

  • Consultores
Postado
47 minutos atrás, brajan disse:

Estou com esse mesmo problema, se alguém ja conseguiu resolver de uma dica. 

Bom dia brajan.

   Você precisa verificar a documentação pra esse tipo de fluxo. A ideia geral seria a mesma do TEF.

   Assim, o gerenciador do TEF é quem deve te dar um retorno. No entanto acho que não tenho documentação pra recebimento em QrCode.

   Então, você precisa verificar o que a documentação recomenda a ser feito.

[]'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.
  • Fundadores
Postado

Atualize os fontes...  Verifique o (extenso), ACBrTEFD-Change-Log.txt

Citar

07/10/20
-- ACBrPOSPGWebPrinter --
[*] Remoção de Hints

-- ACBrTEFComum --
[*] Ajustes para usar Generics quando disponível

-- ACBrTEFD, ACBrTEFDClass --
[+] Adicionado o evento: OnExibeQRCode: TACBrTEFDExibeQRCode
    TACBrTEFDExibeQRCode = procedure(const Dados: String) of object ;
[+] Adicionado o Método:
    procedure ExibirMensagemPinPad(const MsgPinPad: String);
    - Para definir uma mensagem no PinPad

[*] Ajustes para usar Generics quando disponível

-- ACBrTEFDCliSiTef --
[*] Ajustes para usar evento "OnExibeQRCode"
[+] Implementado "ExibirMensagemPinPad"

-- ACBrTEFDBanese, ACBrTEFDClass, ACBrTEFDPayGo --
[*] Remoção de Warning, corrigndo a visibildade do método "ProcessarTipoInterno"

-- ACBrTEFDPayGoWeb --
[+] Implementado "ExibirMensagemPinPad"
[+] Adicionada a propriedade "PortaPinPad: Integer"  default 0;  // -1 = Sem PinPad
[+] Adicionada a propriedade "ExibicaoQRCode: TACBrTEFPGWebAPIExibicaoQRCode"
[*] Ajustes para usar evento "OnExibeQRCode"

-- ACBrTEFPayGoComum --
[+] Mapeado novos valores de PWINFO_ e PWOPER_, seguindo manual 1.22

-- ACBrTEFPayGoWebComum --
[*] Ajustes para inicio de suporte em Android
[+] Mapeado novos valores de PWRET_
[+] Adicionado suporte aos comandos:
    PWDAT_DSPCHECKOUT  = 18;  // Mensagem a ser exibida no checkout
    PWDAT_TSTKEY       = 19;  // Teste de chaves presentes no PIN-pad.
    PWDAT_DSPQRCODE    = 20;  // QR Code, a ser exibido no checkout.
[*] Método "ImprimirViaClienteReduzida" renomeado para "ImprimeViaClienteReduzida"
[+] Adicionada as propriedades:
    RemocaoCartaoPinPad: Boolean;
    ExibeMensagemCheckout: Boolean;
    ExibicaoQRCode: TACBrTEFPGWebAPIExibicaoQRCode
      TACBrTEFPGWebAPIExibicaoQRCode = (qrNaoSuportado, qrExibirNoPinPad, qrExibirNoCheckOut);
[*] Método "IniciarTransacao" com tipo de parametro mudado de:
    "iOPER: SmallInt" para "iOPER: Byte"
[*] Remoção de Hint, em Delphi, no método "ExecutarTransacao"
[+] Implementado "ExibirMensagemPinPad"
[*] "AdicionarDadosObrigatorios", modificado para informar suporte a QRCode
[*] "CalcularCapacidadesDaAutomacao", modificado para considerar
    RemocaoCartaoPinPad, ExibeMensagemCheckout, ExibicaoQRCode
[*] Método "PGWebFunctionDetect", modificado com novo parâmetro "FuncIsRequired"
    PGWebFunctionDetect( FuncName: AnsiString; var LibPointer: Pointer;
                         FuncIsRequired: Boolean = True) ;
    - Permite carregar versões antigas da DLL sem erros em métodos que não existam
    (por: DSA)

 

 

Hoje devo atualizar o TEFDemoNF, com a exibição do QRCode dinâmico...

Hoje teremos uma palestra sobre isso...

https://www.diadoacbr.com.br/sessions/pix-e-carteiras-digitais/

  • 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

atualizei o componente mas os eventos não aparecerão, reparei que .dpk não atualizou.

Falei com meu gerente para se inscrever no evento.

  • Membros Pro
Postado

Ja atualizei notei que o ExibicaoQRCode so está relacionado ao TEFPayGoWeb ela no se encontra no Sitef 

  if cbQRCodeTela.Checked then
    ACBrTEFD1.TEFPayGoWeb.ExibicaoQRCode := qrExibirNoCheckOut
  else
    ACBrTEFD1.TEFPayGoWeb.ExibicaoQRCode := qrExibirNoPinPad;

Outra coisa é q por exemplo no sitef ele apresenta o qrCode e ja fecha a venda essa é a dificuldade ele não espera uma resposta, não sei pq estou em homologação que el faz isso

  • Fundadores
Postado
2 horas atrás, brajan disse:

Ja atualizei notei que o ExibicaoQRCode so está relacionado ao TEFPayGoWeb ela no se encontra no Sitef 

No momento estou focado na integração com PayGo Web

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

Boa dia, se eu usar uma tela secundaria para abrir o QrCode o componente TEF fica esperando a tela para fechar para dar continuidade no processo de fechamento da venda essa é a mesma questão do retorno nesse caso o componente teria q ficar rodando em segundo plano até ter uma resposta para fechar a tela de QrCode ou da Leitura se foi confirmada, assim o controle seria pela aplicação.

No teste q fiz não estou conseguindo executar essa finalidade no componente, ele para na tela modal ou continua sem parar quando o qrcode esta na mesma tela igual no exemplo

Não sei se o evento AguardaResp poderia resolver esse problema, ja fiz varias programações nele mas até agora não obtive sucesso 

  • Membros Pro
Postado

pois é ja não sei para onde ir, se não para, como é feita a leitura em tela pq o componente ja fecha a venda direta, no componente picpay eu tenho uma resposta posso abrir o QrCode e quando é aprovado ele traz essa resposta para dar continuidade na venda após a leitura.

Isso que não estou compreendendo nesse novo método, pq quando dou o CRT ele ja vai fechando não tem uma resposta de foi feita a leitura ou não. isso que não estou conseguindo entender, ou minha logica está errada, nesse caso para quando mostrado em tela. 

  • Fundadores
Postado
1 hora atrás, brajan disse:

pois é ja não sei para onde ir, se não para, como é feita a leitura em tela pq o componente ja fecha a venda direta, no componente picpay eu tenho uma resposta posso abrir o QrCode e quando é aprovado ele traz essa resposta para dar continuidade na venda após a leitura.

Isso que não estou compreendendo nesse novo método, pq quando dou o CRT ele ja vai fechando não tem uma resposta de foi feita a leitura ou não. isso que não estou conseguindo entender, ou minha logica está errada, nesse caso para quando mostrado em tela. 

O ACBrTEFD chama o evento com os Dados do QRCode, para exibição... e também chama o mesmo evento, com a String vazia, sinalizando que você deve remover o QRCode...

Estude os Fontes do projeto TEFDemoNF

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
23 minutos atrás, Daniel Simoes disse:

O ACBrTEFD chama o evento com os Dados do QRCode, para exibição... e também chama o mesmo evento, com a String vazia, sinalizando que você deve remover o QRCode...

Estude os Fontes do projeto TEFDemoNF

Eu estou olhando o fontes porem estou usando o clisitef não sei se falta fazer alguma coisa para esse modelo, não sei se estou sendo claro nas minhas duvidas, pq quando dou o CRT ele chama o qrcode mas é tão rápido que ele aparece e some, é isso não estou entendendo, nem consigo ver o qrcode é como se a venda fosse normal, dessa forma o cliente não consegue ler o qrcode.

com CRT deveria mostrar o qrCode como faz mas devia parar até receber uma resposta, só que ele vai direto sem parar e ja sai fechando a venda.

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

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...