@dicascripto/pix-qrcode-generator

1.0.0 • Public • Published

PIX QR Code Generator

Gerador de QR Codes para pagamentos PIX seguindo os padrões EMV.

Instalação

npm install pix-qrcode-generator

Recursos

  • 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 recebedor
    • name (String) - Nome do recebedor
    • city (String, opcional) - Cidade do recebedor. Padrão: "SAO PAULO"
    • description (String, opcional) - Descrição do pagamento
    • amount (Number, opcional) - Valor do pagamento
    • transactionId (String, opcional) - ID da transação

Retorno

Retorna uma Promise que resolve para um objeto contendo:

  • id - ID único gerado para o QR Code
  • key - Chave PIX utilizada
  • keyType - Tipo da chave (email, cpf, cnpj, telefone, evp)
  • description - Descrição do pagamento
  • amount - Valor do pagamento (se fornecido)
  • qrCodeImage - Imagem do QR Code em base64
  • qrCodeText - Payload PIX EMV
  • transactionId - 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 PIX
  • utils.generatePixPayload(options) - Gera apenas o payload PIX sem QR Code
  • utils.generateUniqueId(prefix) - Gera um ID único com prefixo opcional

Exemplo Completo

Você pode encontrar exemplos completos no diretório examples.

Dependências

Licença

MIT

Package Sidebar

Install

npm i @dicascripto/pix-qrcode-generator

Weekly Downloads

7

Version

1.0.0

License

MIT

Unpacked Size

16.6 kB

Total Files

6

Last publish

Collaborators

  • marcionexus