npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

pix-client

v1.0.5

Published

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

Readme

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);
}