Author Image

perrot.

Jun 8, 2021

Resolução de Delay nas Chamadas de Geração de QR Code e Pix em Node

integraçãoPIXGNQR CodedelayEMVNodeSDK

Bom dia, pessoal! Como vcs resolvem a questão de delay nas chamadas? Não consigo gerar o pix e pegar o qr code na mesma requisição. Algum exemplo em Node que possa me ajudar?

Respostas (13):
Avatar discord do usuario rubenskuhl

rubenskuhl

08/06/2021

Uma opção é você mesmo gerar o QR-Code... na hora que a GN te passa o location, tudo que você precisa para gerar o QR ja está disponível.

Avatar discord do usuario perrot.

perrot.

08/06/2021

Como faço? Vc tem algum exemplo que possa me enviar?

Avatar discord do usuario rubenskuhl

rubenskuhl

08/06/2021

Não uso node, mas este é um código que gera EMV/QR do padrão BRCode usado no Pix: https://www.npmjs.com/package/neon-brcode

Avatar discord do usuario perrot.

perrot.

08/06/2021

Daí é só passar o location que ele retorna o QrCode? Vou dar uma olhada na doc. Obrigado!

Avatar discord do usuario rubenskuhl

rubenskuhl

08/06/2021

Há mais parâmetros no EMV como valor, nome da loja etc., precisa preencher todos. Mas o único que você não tem como definir é o location, esse que precisa vir da GN.

Avatar discord do usuario perrot.

perrot.

08/06/2021

Pela GN eu consigo pegar o QrCode. Só não estou conseguindo juntar na minha response. Mesmo colocando um sleep, o QrCode só chega depois do fim da minha primeira requisição.

Avatar discord do usuario guilherme_efi

guilherme_efi

08/06/2021

Olám <@!756521010387484702>. Bom dia!
Você pode utilizar nossa SDK de Node que já possui todas as funções para você consumir. https://github.com/gerencianet/gn-api-sdk-node
Com o exemplo /examples/pix/charge/pixCreateImmediateCharge.js você criaria a cobrança.
E depois com o exemplo /examples/pix/location/pixGenerateQRCode.js você gera o QR Code passando o id do location da cobrança que criou

Avatar discord do usuario rubenskuhl

rubenskuhl

08/06/2021

Só que essa chamada do QR-Code é não padrão. O que estava previsto no padrão era o PSP te dar o location e você gerar EMV e QR.

Avatar discord do usuario perrot.

perrot.

08/06/2021

Oi, @Guilherme. É exatamente isso que estou fazendo. Só que tem um delay nas chamadas e mesmo colocando o sleep a segunda chamada, que é a do QrCode, só termina depois que a primeira já terminou. Coloquei dois sleeps de 2 segundos em cada e mesmo assim não dá. Tentei por await, mas dá erro.

Avatar discord do usuario leonardo_nicolas

leonardo_nicolas

08/06/2021

Usa o async/await

Avatar discord do usuario perrot.

perrot.

08/06/2021

Tentei, mas deu erro.

Avatar discord do usuario perrot.

perrot.

08/06/2021

<@!837864963623485481> , valeu pela ajuda. Insisti no async/await depois da sua sugestão e deu certo agora.

Avatar discord do usuario leonardo_nicolas

leonardo_nicolas

08/06/2021

Que nada! A gente está aqui! E agradeço que você considerou como ajuda. Porque tudo que pôde fazer, é sugerir. Afinal, eu não sou muito cascudo como sou com o dotnet. Com o nodeJS eu sou iniciante (comecei ontem) e confesso que estou apanhando. 🤣🤣🤣🤣🤣
Mas uma coisa achei legal: lembra um pouquinho só o jQuery...