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.
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.
Amigo, testei várias bibliotecas e sites e sua biblioteca foi a melhor de todas disparada... Estive usando a https://www.tabnews.com.br/tiagodiastl/0d0d68c4-ff0e-4b1d-8076-2e5e97cd25c2 e tive alguns problemas em produção com ela gerando chaves inválidas...
A sua além de ter o código super enxuto e simples (Serve inclusive como documentação da composição da chave pix), foi a que melhor descreveu as tipagens do que realmente é obrigatório ou não...
+1 ⭐ +1 👍
--- Edit ---
Identifiquei um probleminha e enviei o PR lá https://github.com/devcarlosalberto/pix-payload/pull/3