simple-payments
v1.2.0
Published
Uma biblioteca JavaScript para integração com sistemas de pagamento e bancos, oferecendo uma solução simplificada e eficiente para processamento de transações financeiras.
Readme
Simple Payments API
Descrição
Simple Payments é uma biblioteca JavaScript para integração com sistemas de pagamento como Mercado Pago, EFI Bank, PagBank e PicPay. Ela simplifica o processo de criação e gerenciamento de pagamentos, permitindo implementações rápidas e eficientes.
Instalação
npm install simple-paymentsFuncionalidades
A biblioteca possui quatro classes principais:
1. MercadoPago
Permite a integração com o Mercado Pago para:
- Criar pagamentos
- Criar pagamentos customizados
- Realizar reembolsos
- Verificar status de pagamentos
2. EfiBank
Permite a integração com o EFI Bank para:
- Criar pagamentos PIX
- Obter chaves PIX disponíveis
- Verificar status de pagamentos
- Criar pagamentos customizados
3. PagBank
Permite a integração com o PagBank para:
- Criar pagamentos PIX
- Criar pagamentos customizados
- Verificar status de pagamentos
4. PicPay
Permite a integração com o PicPay para:
- Criar pagamentos
- Criar pagamentos customizados
- Verificar status de pagamentos
- Cancelar pagamentos
Exemplos de Uso
Mercado Pago
const { MercadoPago } = require('simple-payments');
const mercadopago = new MercadoPago({ token: 'SEU_TOKEN_MERCADO_PAGO' });
// Criar um pagamento simples
async function criarPagamento() {
try {
const resultado = await mercadopago.createPayment({ value: 100.50 });
console.log('Pagamento criado:', resultado);
} catch (erro) {
console.error('Erro ao criar pagamento:', erro);
}
}
// Criar um pagamento customizado
async function criarPagamentoCustomizado() {
try {
const resultado = await mercadopago.createCustomPayment({
value: 100.50,
color1: '#FF0000',
color2: '#00FF00',
image: 'URL_DA_IMAGEM'
});
console.log('Pagamento customizado criado:', resultado);
} catch (erro) {
console.error('Erro ao criar pagamento customizado:', erro);
}
}
// Verificar um pagamento
async function verificarPagamento(paymentId) {
try {
const status = await mercadopago.checkPayment(paymentId);
console.log('Status do pagamento:', status);
} catch (erro) {
console.error('Erro ao verificar pagamento:', erro);
}
}
// Reembolsar um pagamento
async function reembolsarPagamento(paymentId) {
try {
const resultado = await mercadopago.refundPayment(paymentId);
console.log('Reembolso realizado:', resultado);
} catch (erro) {
console.error('Erro ao realizar reembolso:', erro);
}
}EFI Bank
const { EfiBank } = require('simple-payments');
const efibank = new EfiBank({
client_id: 'SEU_CLIENT_ID',
client_secret: 'SEU_CLIENT_SECRET',
certificate: 'caminho/para/seu/certificado.p12'
});
// Criar um pagamento PIX
async function criarPagamento() {
try {
const resultado = await efibank.createPayment({
chave_pix: 'SUA_CHAVE_PIX',
price: 100.50
});
console.log('Pagamento PIX criado:', resultado);
} catch (erro) {
console.error('Erro ao criar pagamento PIX:', erro);
}
}
// Obter chaves PIX disponíveis
async function obterChavesPix() {
try {
const chaves = await efibank.getPixKeys();
console.log('Chaves PIX disponíveis:', chaves);
} catch (erro) {
console.error('Erro ao obter chaves PIX:', erro);
}
}
// Criar um Pagamento Personalizado
async function criarPagamentoCustomizado() {
try {
const resultado = await efibank.createCustomPayment({
chave_pix: 'SUA_CHAVE_PIX',
price: 100.50,
color1: '#FF0000',
color2: '#00FF00',
image: 'URL_DA_IMAGEM'
});
console.log('Pagamento personalizado criado:', resultado);
} catch (erro) {
console.error('Erro ao criar pagamento personalizado:', erro);
}
}
// Verificar um pagamento
async function verificarPagamento(paymentId) {
try {
const status = await efibank.checkPayment(paymentId);
console.log('Status do pagamento PIX:', status);
} catch (erro) {
console.error('Erro ao verificar pagamento PIX:', erro);
}
}PagBank
const { PagBank } = require('simple-payments');
const pagbank = new PagBank({ token: 'SEU_TOKEN_PAGBANK' });
// Criar um pagamento simples
async function criarPagamento() {
try {
const resultado = await pagbank.createPayment({ value: 100.50 });
console.log('Pagamento criado:', resultado);
} catch (erro) {
console.error('Erro ao criar pagamento:', erro);
}
}
// Criar um pagamento customizado
async function criarPagamentoCustomizado() {
try {
const resultado = await pagbank.createCustomPayment({
value: 100.50,
color1: '#FF0000',
color2: '#00FF00',
image: 'URL_DA_IMAGEM'
});
console.log('Pagamento customizado criado:', resultado);
} catch (erro) {
console.error('Erro ao criar pagamento customizado:', erro);
}
}
// Verificar um pagamento
async function verificarPagamento(paymentId) {
try {
const status = await pagbank.checkPayment(paymentId);
console.log('Status do pagamento:', status);
} catch (erro) {
console.error('Erro ao verificar pagamento:', erro);
}
}PicPay
const { PicPay } = require('simple-payments');
const picpay = new PicPay({ token: 'SEU_TOKEN_PICPAY' });
// Criar um pagamento simples
async function criarPagamento() {
try {
const resultado = await picpay.createPayment({ value: 100.50 });
console.log('Pagamento criado:', resultado);
} catch (erro) {
console.error('Erro ao criar pagamento:', erro);
}
}
// Criar um pagamento customizado
async function criarPagamentoCustomizado() {
try {
const resultado = await picpay.createCustomPayment({
value: 100.50,
color1: '#FF0000',
color2: '#00FF00',
image: 'URL_DA_IMAGEM'
});
console.log('Pagamento customizado criado:', resultado);
} catch (erro) {
console.error('Erro ao criar pagamento customizado:', erro);
}
}
// Verificar um pagamento
async function verificarPagamento(paymentId) {
try {
const status = await picpay.checkPayment(paymentId);
console.log('Status do pagamento:', status);
} catch (erro) {
console.error('Erro ao verificar pagamento:', erro);
}
}
// Cancelar um pagamento
async function cancelarPagamento(paymentId) {
try {
const resultado = await picpay.cancelPayment(paymentId);
console.log('Pagamento cancelado:', resultado);
} catch (erro) {
console.error('Erro ao cancelar pagamento:', erro);
}
}Formato das Respostas
MercadoPago
Criar Pagamento (Simples ou Customizado)
{
status: 'success',
payment_id: '102162...', // ID do pagamento no Mercado Pago
qr_code_link: 'https://api.qrserver.com/v1/create-qr-code/?data=...', // Link do QR code
copy_paste: '00020126580014br.gov.bcb.pix0136b5907...', // Código PIX copia e cola
qr_code_image_url: 'https://simple-payments.squareweb.app/api/qrcode?id=102162...' // URL da imagem do QR code
}Verificar Status do Pagamento
{
status: 'approved' // Possíveis valores: 'approved', 'pending', 'cancelled'
}Verificar Reembolsos
{
status: 'success',
refunds: [
{
id: '123456789',
payment_id: '102162...',
amount: 100.50,
status: 'approved',
created_at: '2024-03-15T10:30:00.000Z'
}
]
}EfiBank
Criar Pagamento (Simples ou Customizado)
{
status: 'success',
payment_id: 'b21a72...', // ID da transação (txid)
copy_paste: '00020101021226830014BR.GOV.BCB.PIX256...', // Código PIX copia e cola
qr_code_image_url: 'https://simple-payments.squareweb.app/api/qrcode?id=b21a72...' // URL da imagem do QR code
}Obter Chaves PIX
{
status: 'success',
chaves: '[email protected], 11999999999, randomkey123' // Lista de chaves PIX disponíveis
}Verificar Status do Pagamento
{
status: 'approved' // Possíveis valores: 'approved', 'pending', 'cancelled'
}PagBank
Criar Pagamento (Simples ou Customizado)
{
status: 'success',
payment_id: 'ORDER_ID_123456', // ID do pedido no PagBank
copy_paste: '00020126580014br.gov.bcb.pix0136random-key-pix-example', // Código PIX copia e cola
qr_code_image_url: 'https://simple-payments.squareweb.app/api/qrcode?id=ORDER_ID_123456' // URL da imagem do QR code
}Verificar Status do Pagamento
{
status: 'approved' // Possíveis valores: 'approved', 'pending', 'cancelled'
}PicPay
Criar Pagamento (Simples ou Customizado)
{
status: 'success',
payment_id: 'order-1234567890', // ID do pedido no PicPay (referenceId)
payment_url: 'https://app.picpay.com/checkout/NWZhY2U', // URL para redirecionamento
qr_code: {
content: 'https://app.picpay.com/checkout/NWZhY2U', // Mesmo que payment_url
base64: 'data:image/png;base64,iVBORw0KGgoAAAANSUh...' // QR code em base64
},
expires_at: '2024-03-15T10:30:00-03:00', // Data de expiração do pagamento
qr_code_image_url: 'https://simple-payments.squareweb.app/api/qrcode?id=order-1234567890' // URL alternativa da imagem do QR code
}Verificar Status do Pagamento
{
status: 'approved' // Possíveis valores: 'approved', 'pending', 'cancelled', 'expired', 'refunded', 'chargeback'
}Cancelar Pagamento
{
status: 'success',
cancellation_id: '5e3600e2-8c77-4265-89e5-60cbb7c19d0a', // ID do cancelamento
payment_status: 'refunded' // Status atualizado do pagamento
}Códigos de Status
Todas as APIs retornam os seguintes status padronizados:
approved: Pagamento aprovado/concluídopending: Pagamento pendente/aguardandocancelled: Pagamento cancelado/estornadoerror: Erro no processamento (com mensagem descritiva)
Tratamento de Erros
Todas as APIs retornam erros no seguinte formato:
{
status: 'error',
message: 'Descrição detalhada do erro'
}Principais códigos de erro HTTP:
400: Parâmetros inválidos ou faltando401: Token/credenciais inválidas404: Recurso não encontrado500: Erro interno do servidor
Requisitos
- Node.js
- Dependências:
- axios: ^1.7.9
Créditos
Desenvolvido por:
- Someone (Discord: @gh8y) - Criador
Licença
ISC
