@abacatepay/rest
v0.0.3
Published
A REST client for AbacatePay API
Readme
AbacatePay REST
Um REST Client para a API da AbacatePay — rápido, seguro e testado.
O @abacatepay/rest é um cliente REST leve e totalmente tipado para interagir com a API do AbacatePay.
Projetado para Node.js, Bun e runtimes modernos, com retries inteligentes, timeout e tratamento de erros consistente.
Instalação
Use com o seu package manager favorito
bun add @abacatepay/rest
# Ou
pnpm add @abacatepay/rest
# Ou
npm install @abacatepay/restUso Básico
Simule um pagamento QRCodePix que tenha o ID pix_char_123456
import { REST } from '@abacatepay/rest';
const client = new REST({
secret: process.env.ABACATEPAY_API_KEY!,
});
const pix = await client.post('/pixQrCode/simulate-payment', {
query: { id: 'pix_char_123456' },
});
console.log(pix);Retry & Backoff
Por padrão, o REST faz 3 retries automaticamente para erros retryable (rate limit, 5xx, erro de rede).
const client = new REST({
retry: {
max: 5
},
})Backoff customizado
const client = new REST({
retry: {
max: 7,
backoff(attempt) {
// Backoff exponencial
return Math.min(10_000, 500 * 2 ** attempt);
},
},
});Tratando erros
O REST Client expõe erros tipados para facilitar o controle e o tratamento deles
import { AbacatePayError, HTTPError } from '@abacatepay/rest';
try {
await client.get('/customers/invalid');
} catch (err) {
if (err instanceof AbacatePayError) {
console.error('Erro da API:', err.message);
return;
}
if (err instanceof HTTPError) {
console.error(`Erro de rede/HTTP em ${err.route}: ${err.message}`);
}
}Você pode ver a documentação completa por aqui.
Feito com 🥑 pela equipe AbacatePay Open source, de verdade.
