@abacatepay/rest
v1.0.2
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 { createREST } from '@abacatepay/rest';
const client = createREST({
secret: process.env.ABACATEPAY_API_KEY!,
});
const pix = await client.post('/transparents/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 = createREST({
retry: {
max: 5
},
})Backoff customizado
const client = createREST({
retry: {
max: 7,
backoff(attempt) {
// Backoff exponencial
return Math.min(10_000, 500 * 2 ** attempt);
},
},
});Tratando erros
O REST Client nunca lança exceções — toda chamada resolve com o mesmo formato { data, error, success } que a própria API da AbacatePay retorna. Falhas do lado do cliente (rede, timeout, secret ausente) são normalizadas para esse mesmo formato.
const { data, error, success } = await client.get('/customers/invalid');
if (!success) {
console.error('Erro:', error);
return;
}
console.log(data);Você pode ver a documentação completa por aqui.
Feito com 🥑 pela equipe AbacatePay Open source, de verdade.
