Skip to content

im-nassinger/pix-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pix-client

O pix-client é um pacote do NPM que facilita a comunicação com a API do Mercado Pago para gerar pagamentos via PIX e gerenciar webhooks de notificação. Com ele, você pode verificar rapidamente se um pagamento foi concluído e definir um tempo de expiração para o pagamento, garantindo uma experiência prática e eficiente. É a solução ideal para quem busca uma abordagem minimalista e fácil de implementar, sem a necessidade de contas pagas ou assinaturas em serviços.

Requisitos

Antes de utilizar o pix-client, é necessário obter um token de acesso do Mercado Pago. Você pode adquirir um token criando uma conta gratuita, e depois acessando este link.

Instalação (NPM):

npm install pix-client

Modos de Uso

O pix-client oferece dois modos de operação:

  1. Modo Ngrok: Este modo cria um túnel usando o Ngrok, permitindo receber eventos do Mercado Pago em tempo real. O status do pagamento é atualizado instantaneamente. Para usar este modo, você precisa de um token de acesso do Ngrok. Após criar sua conta gratuita no ngrok, acesse este link.

  2. Modo Pooling: Neste modo, o pacote realiza verificações em intervalos configuráveis pelo usuário. Embora não seja em tempo real, não requer um servidor HTTP nem um token de acesso do Ngrok.

Exemplo de Uso

Aqui está um exemplo de como utilizar o pix-client para gerar um pagamento via PIX:

import { PixClient } from 'pix-client';
import dotenv from 'dotenv';
import qrcode from 'qrcode-terminal';

dotenv.config();

const pixClient = new PixClient({
    // obrigatório:
    // https://www.mercadopago.com.br/developers/panel
    mpToken: process.env.MP_TOKEN,

    // opcional:
    // https://dashboard.ngrok.com/get-started/your-authtoken
    ngrokToken: process.env.NGROK_TOKEN
});

try {
    await pixClient.webhook.listen(); // recebe notificações do mercadopago

    const pix = await pixClient.generatePix({
        description: 'Teste de pagamento PIX',
        transactionAmount: 2.50,
        durationMinutes: 5
    });

    console.log('Pix gerado! Escaneie o QR Code abaixo para realizar o pagamento:');

    qrcode.generate(pix.qrCode.content, { small: true });

    pix.once('paid', () => console.log('O pagamento foi realizado com sucesso! :)'));

    pix.once('expired', () => console.log('O pagamento não foi realizado a tempo :('));
} catch(error) {
    console.error('Erro ao gerar o PIX:', error.message);
}

About

Uma lib para facilitar o uso da API do mercado pago para pagamentos via PIX

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published