1

Projeto legal, e a mudança de cor do QR é um detalhe que os geradores por aí ignoram mesmo.

Duas coisas que pegam todo mundo que mexe com BR Code, caso alguém chegue aqui pelo Google:

Nome do recebedor tem limite de 25 caracteres, e cidade, de 15. Passou disso, ou mandou acento, e tem app de banco que recusa o QR. É o tipo de bug que só aparece no celular do cliente.
O CRC16 do final é calculado sobre o payload inteiro, incluindo o próprio “6304”. Esquecer isso gera um QR lindo que nenhum banco aceita.

E um limite que não é bug: QR estático não avisa ninguém que foi pago. Para doação ou plaquinha no balcão, funciona. Para venda online, você precisa de QR dinâmico gerado por um PSP, com webhook confirmando o pagamento. Trabalho com isso na PushinPay (Pix a custo fixo, API e webhook), então, se alguém quiser evoluir o projeto para cobrança com confirmação, as docs são abertas em docs.pushinpay.com.br.

Carregando publicação patrocinada...