Criei uma biblioteca em Typescript para o PIX.

🔍 Você sabe como funciona a payload de um PIX ou o QRCode PIX? 📋

Para entender a fundo o PIX, é essencial conhecer a anatomia da payload, o coração pulsante por trás das transações instantâneas. Vamos adentrar os detalhes técnicos:

A payload PIX é uma estrutura de dados complexa, essencial para garantir que uma transação seja processada corretamente. Ela é formada por elementos específicos, como:

1. Chave PIX do Beneficiário (32 caracteres alfanuméricos): Identifica o destinatário da transação. Pode ser uma chave PIX, como e-mail, CPF/CNPJ, telefone ou um EVP (Endpoint de Pagamento). 2. Valor da Transação (até 13 dígitos, com 2 casas decimais): Indica o valor a ser transferido, em reais. 3. Informações Adicionais do Beneficiário (até 140 caracteres): Pode incluir dados relevantes, como nome, razão social, ou informações específicas da transação. 4. TXID (Identificador Único da Transação): Uma sequência alfanumérica gerada para cada transação, evitando duplicatas. 5. CRC16 (Cyclic Redundancy Check): Um código de verificação que garante a integridade dos dados na payload. 6. Payload Format Indicator (Indicador do Formato da Payload): Identifica o formato da payload e a versão do padrão PIX (atualmente, '01').

Sabe os QRCode's que existem por ai em estabelecimentos como barbearias, lanchonetes e etc., que tem uma placa PIX com QRCode para agilizar o pagamento? Então, isto é nada mais do que um QRCode que representa/armazena uma payload e ao ler a imagem com o aplicativo do banco ele automaticamente reconhece a payload e avança para confirmação do pagamento.

Sabe aqueles caracteres "aleatórios" que é chamado de "pix copia e cola"? Aquela sequência de caracteres não são nada aleatórios, cada caracter tem um significado. Aquilo é uma payload pix.

Para aqueles que desejam mergulhar ainda mais fundo na integração PIX, a biblioteca "pix-payload" foi desenvolvida por mim permitindo que você crie payloads personalizadas de maneira eficiente. E claro, a biblioteca está aberta para novas melhorias no GitHub caso tenha alguma ideia. ;)

Visite https://github.com/devcarlosalberto/pix-payload para obter mais informações sobre o "pix-payload", como utilizar e como instalar ele no seu projeto JavaScript/TypeScript.

Observação: mais para frente irei tratar melhor possíveis erros e outras features para a library.

Essa publicação também está disponível no meu LinkedIn.

Parabéns pela biblioteca, é uma mão na roda para o pessoal, tive que ler toda a documentação do BACEN para desenvolver o meu app (Chaveiro Pix) e criar uma lib interna para gerar o "BRCode".

Acho que você poderia já deixar preparado a opção de outros MERCHANT_ACCOUNT_INFORMATION_GUI pois já tem outros países testando o Pix.

Achei incrível seu app, se possível poderia me informar o que usou de liguagem, biblioteca ou framework? Se foi com Ionic ou se fez mesmo com Java e o Css se fez 'na mão' ou qual framework usou? 🙂 Caso não se sinta a vontade em informar, tudo bem.
Muito obrigado, fiz o app utilizando o framework Flutter que utiliza a linguagem Dart :)
O repositorio do app é publico? sou dev flutter e gostaria de dar uma olhada pra aprender, possuo alguns repositorios no meu perfil: https://github.com/Kzrtt
O repositório do Chaveiro Pix é privado, mas o App que fiz do TabNews é público e também em flutter. - https://github.com/adlerluiz/tabnews-mobile
Opa, essa ideia do MERCHANT_ACCOUNT_INFORMATION_GUI eu não sabia que estava já sendo disponibilizado em outros países alguns testes. Vou providenciar já! Obrigado e parabéns pelo aplicativo, incrível!

Já favoritei no browser, não tenho um projeto pra usar mas pode vir a calhar com certeza

Quando eu li o título achei super coisa complexa. Ai fui ler e amei o texto, a forma de escrita deixou bem auto-explicativo (daria para por mais exemplos rsrs...). Mas amei o texto pois ficou bem tranquilo de ler.

Hahaha, a ideia era um título que conseguisse atrair para mostrar essa curiosidade que eu mesmo achei muito interessante! Obrigado ;)

Seria possível eu usar babel para converter a biblioteca para javascript?

Você consegue usar tranquilamente a biblioteca dentro de um projeto JavaScript ;)

Muito bacana OP, os detalhes e características referentes ao payload estão show!