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.
npm install simple-paymentsbash
npm install simple-payments
`
Funcionalidades
A biblioteca possui quatro classes principais:
$3
Permite a integração com o Mercado Pago para:
- Criar pagamentos
- Criar pagamentos customizados
- Realizar reembolsos
- Verificar status de pagamentos
$3
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
Permite a integração com o PagBank para:
- Criar pagamentos PIX
- Criar pagamentos customizados
- Verificar status de pagamentos
$3
Permite a integração com o PicPay para:
- Criar pagamentos
- Criar pagamentos customizados
- Verificar status de pagamentos
- Cancelar pagamentos
Exemplos de Uso
$3
`javascript
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);
}
}
`
$3
`javascript
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);
}
}
`
$3
`javascript
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);
}
}
`
$3
`javascript
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
$3
#### Criar Pagamento (Simples ou Customizado)
`javascript
{
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
`javascript
{
status: 'approved' // Possíveis valores: 'approved', 'pending', 'cancelled'
}
`
#### Verificar Reembolsos
`javascript
{
status: 'success',
refunds: [
{
id: '123456789',
payment_id: '102162...',
amount: 100.50,
status: 'approved',
created_at: '2024-03-15T10:30:00.000Z'
}
]
}
`
$3
#### Criar Pagamento (Simples ou Customizado)
`javascript
{
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
`javascript
{
status: 'success',
chaves: 'chave1@email.com, 11999999999, randomkey123' // Lista de chaves PIX disponíveis
}
`
#### Verificar Status do Pagamento
`javascript
{
status: 'approved' // Possíveis valores: 'approved', 'pending', 'cancelled'
}
`
$3
#### Criar Pagamento (Simples ou Customizado)
`javascript
{
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
`javascript
{
status: 'approved' // Possíveis valores: 'approved', 'pending', 'cancelled'
}
`
$3
#### Criar Pagamento (Simples ou Customizado)
`javascript
{
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
`javascript
{
status: 'approved' // Possíveis valores: 'approved', 'pending', 'cancelled', 'expired', 'refunded', 'chargeback'
}
`
#### Cancelar Pagamento
`javascript
{
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ído
- pending: Pagamento pendente/aguardando
- cancelled: Pagamento cancelado/estornado
- error: Erro no processamento (com mensagem descritiva)
Tratamento de Erros
Todas as APIs retornam erros no seguinte formato:
`javascript
{
status: 'error',
message: 'Descrição detalhada do erro'
}
`
Principais códigos de erro HTTP:
- 400: Parâmetros inválidos ou faltando
- 401: Token/credenciais inválidas
- 404: Recurso não encontrado
- 500`: Erro interno do servidor