1.0.0 • Published 7 months ago
@dicascripto/pix-qrcode-generator v1.0.0
PIX QR Code Generator
Gerador de QR Codes para pagamentos PIX seguindo os padrões EMV.
Instalação
npm install pix-qrcode-generatorRecursos
- Geração de QR Codes estáticos para pagamentos PIX
- Geração de QR Codes dinâmicos (com ID de transação)
- Suporte a todos os tipos de chaves PIX (CPF, CNPJ, e-mail, telefone, chave aleatória)
- Payload gerado conforme os padrões EMV
- QR Codes em formato base64 e terminal/texto
Uso Básico
const pixQRCode = require('pix-qrcode-generator');
// QR Code Estático
async function exemplo() {
const qrcode = await pixQRCode.generateStaticPixQRCode({
key: 'seu@email.com',
name: 'Fulano de Tal',
city: 'SAO PAULO',
description: 'Pagamento de teste',
amount: 100.50 // opcional
});
console.log(qrcode.qrCodeText); // Texto BR Code
console.log(qrcode.qrCodeImage); // Imagem Base64
}
// QR Code Dinâmico (com ID de transação)
async function exemploComTransacao() {
const qrcode = await pixQRCode.generateDynamicPixQRCode({
key: '12345678900', // CPF
name: 'Empresa LTDA',
city: 'RIO DE JANEIRO',
description: 'Pedido #123',
amount: 75.99,
transactionId: 'PEDIDO123' // obrigatório para QR dinâmico
});
console.log(qrcode.qrCodeText);
}
// QR Code para Terminal (síncrono)
function exemploTerminal() {
const qrcode = pixQRCode.generateStaticPixQRCodeSync({
key: '+5511999999999', // Telefone
name: 'Pessoa Física',
description: 'Pagamento direto'
});
console.log(qrcode.qrCodeTerminal); // ASCII QR Code
}API
generateStaticPixQRCode(options)
Gera um QR Code estático PIX.
Parâmetros
options(Objeto) - Opções para geração do QR Code:key(String) - Chave PIX do recebedorname(String) - Nome do recebedorcity(String, opcional) - Cidade do recebedor. Padrão: "SAO PAULO"description(String, opcional) - Descrição do pagamentoamount(Number, opcional) - Valor do pagamentotransactionId(String, opcional) - ID da transação
Retorno
Retorna uma Promise que resolve para um objeto contendo:
id- ID único gerado para o QR Codekey- Chave PIX utilizadakeyType- Tipo da chave (email, cpf, cnpj, telefone, evp)description- Descrição do pagamentoamount- Valor do pagamento (se fornecido)qrCodeImage- Imagem do QR Code em base64qrCodeText- Payload PIX EMVtransactionId- ID da transação (se fornecido)
generateDynamicPixQRCode(options)
Gera um QR Code dinâmico PIX (com transactionId obrigatório).
Mesmos parâmetros e retorno do generateStaticPixQRCode, mas o campo transactionId é obrigatório.
generateStaticPixQRCodeSync(options)
Versão síncrona para geração de QR Code estático PIX, útil para exibição em terminal.
Mesmos parâmetros do generateStaticPixQRCode, mas retorna imediatamente (sem Promise) um objeto com:
- Todos os campos de
generateStaticPixQRCode qrCodeTerminal- Representação ASCII do QR Code para terminal
utils
O pacote também expõe algumas funções utilitárias para uso avançado:
utils.determinePixKeyType(pixKey)- Determina o tipo da chave PIXutils.generatePixPayload(options)- Gera apenas o payload PIX sem QR Codeutils.generateUniqueId(prefix)- Gera um ID único com prefixo opcional
Exemplo Completo
Você pode encontrar exemplos completos no diretório examples.
Dependências
- pix-payload - Geração do payload PIX
- qrcode - Geração de QR Code
Licença
MIT
1.0.0
7 months ago