qr code pix: como gerar o seu sem depender do banco
o pix que você cola na parede da loja não é um produto do banco. é a sua chave escrita num formato padronizado, com um número de conferência no final. qualquer um pode montar esse texto — e o gerador monta no seu próprio navegador, com a chave que você digitar.
estático e dinâmico não são o mesmo produto
essa é a primeira confusão, e ela decide se você precisa do banco ou não.
estático é o gerado aqui. vale para sempre, aceita quantos pagamentos você quiser, e o mesmo código serve para a primeira e para a milésima pessoa. é o código de imprimir e colar no balcão. não precisa de integração com nada.
dinâmico é gerado por cobrança: uma cobrança, um código, com vencimento e status. ele exige integração com a api do seu banco, porque é o banco que registra a cobrança e responde se ela foi paga. é o que uma loja online usa no checkout.
se você quer um código na parede, no cartão ou na bio, é o estático. se você quer saber que aquela cobrança específica foi paga, é o dinâmico, e aí o caminho é o seu banco.
o que está escrito dentro do código
nada de misterioso. o padrão é uma sequência de campos, cada um com um número de identificação, um tamanho e um valor:
- o identificador do arranjo —
br.gov.bcb.pix - a sua chave — cpf, cnpj, e-mail, telefone ou chave aleatória
- o valor, se você colocar um
- o nome do recebedor e a cidade
- um identificador da transação,
***quando não há - o dígito verificador, quatro caracteres no fim
é texto legível. o "pix copia e cola" que aparece embaixo do código é literalmente esse texto — o qr é só ele desenhado para a câmera. quem paga pode colar o texto no app do banco e chega no mesmo lugar.
nome e cidade não precisam bater com o cadastro do banco: quem manda é a chave. mas eles aparecem na tela de quem vai pagar, então vale escrever certo. acentos são removidos porque o padrão só aceita caracteres simples nesses campos.
o dígito verificador é onde tudo dá errado
os últimos quatro caracteres são um crc-16 calculado sobre todo o conteúdo do código. se você mudar uma vírgula no nome e não recalcular, o número não fecha.
e aí acontece a pior parte: o aplicativo do banco recusa sem dizer por quê. você vê "código inválido" e não tem como saber se o problema é a chave, o valor, o nome ou uma conta que ninguém fez. é por isso que um código de gerador duvidoso às vezes funciona num banco e falha em outro — alguns são mais tolerantes que outros com o resto do formato, mas nenhum perdoa o dígito errado.
aqui esse cálculo é conferido contra o valor de referência do próprio padrão antes de sair. é uma linha de código e é a diferença entre um código que todo banco aceita e um que ninguém sabe consertar.
o dinheiro não passa por aqui
em nenhum momento. o código é montado no seu navegador, com o que você digitou, e o pagamento acontece direto entre quem paga e o seu banco. não temos acesso à sua chave, ao valor, nem a quem pagou — nada disso sai da sua máquina.
o que isso significa na prática, e é importante: confira a chave. o gerador te faz confirmar a chave lida de volta antes de gerar, porque dinheiro enviado para a chave errada não volta. não há suporte para acionar, não há transação para estornar — é um pix bem-sucedido para outra pessoa.
valor em branco é o normal
deixar o valor vazio é o caso mais comum, e é o certo para um código de balcão: quem paga digita quanto vai enviar.
com valor preenchido, o campo já chega travado no app do banco. serve para um produto de preço fixo, uma rifa, uma mensalidade. só lembre que o código impresso passa a valer aquele preço — mudou o preço, muda o código.
não dá para contar quantas pessoas pagaram
vale dizer, porque é a diferença entre esse gerador e o de qr code comum: um qr de pix é lido pelo app do banco, não abre um endereço. não passa por nenhum servidor nosso, então não existe leitura para contar.
quem te conta isso é o extrato da sua conta. se você precisa medir campanha, o que se mede é o caminho até o código — a página, o link na bio — não o código em si.
gere o seu
gerador de qr code pix — de graça, sem conta, e nada é enviado a lugar nenhum.