UNPKG

pix-client

Version:

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

78 lines (56 loc) 2.72 kB
# 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](https://www.mercadopago.com.br/developers/panel). ## Instalação ([NPM](https://www.npmjs.com/package/pix-client)): ```bash 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](https://dashboard.ngrok.com/get-started/your-authtoken). 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: ```js 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); } ```