Visão Geral
Este endpoint retorna uma lista paginada de todas as suas transações. Você pode filtrar por status, produto, cliente e buscar por nome ou email.
Exemplo de Requisição
curl -X GET "https://garu.com.br/api/transactions?page=1&limit=20" \
-H "Authorization: Bearer sk_test_sua_chave_api"
Parâmetros de Query
Número da página para paginação.
Quantidade de itens por página (máximo 100).
Filtrar por status: pendingBoleto, pendingPix, captured, payedBoleto, payedPix, denied, reversed, cancel.
Filtrar por ID do produto.
Filtrar por ID do cliente.
Buscar por nome ou email do cliente.
Resposta de Sucesso
Total de transações retornadas nesta página.
Total de páginas disponíveis.
Exemplo de Resposta (200 OK)
{
"data": [
{
"id": 12345,
"galaxPayId": 987654,
"status": "captured",
"value": 297.00,
"paymentMethod": "creditcard",
"customer": {
"id": 456,
"name": "João Silva",
"email": "joao@example.com"
},
"product": {
"id": 123,
"name": "Curso de Marketing Digital"
},
"createdAt": "2024-12-24T14:30:00.000Z"
},
{
"id": 12344,
"galaxPayId": 987653,
"status": "payedPix",
"value": 47.00,
"paymentMethod": "pix",
"customer": {
"id": 457,
"name": "Maria Santos",
"email": "maria@example.com"
},
"product": {
"id": 124,
"name": "E-book Python"
},
"createdAt": "2024-12-23T10:15:00.000Z"
}
],
"count": 2,
"page": 1,
"totalPages": 5
}
Status de Transação
| Status | Descrição |
|---|
pendingBoleto | Boleto gerado, aguardando pagamento |
pendingPix | Código PIX gerado, aguardando pagamento |
authorized | Cartão de crédito autorizado |
captured | Pagamento com cartão capturado |
payedBoleto | Pagamento via boleto confirmado |
payedPix | Pagamento via PIX confirmado |
denied | Pagamento negado |
reversed | Pagamento estornado/reembolsado |
cancel | Transação cancelada |
Paginação
Para percorrer todas as transações:
async function listarTodasTransacoes(status) {
const transacoes = [];
let page = 1;
let totalPages = 1;
do {
const url = new URL('https://garu.com.br/api/transactions');
url.searchParams.set('page', page);
url.searchParams.set('limit', 50);
if (status) url.searchParams.set('status', status);
const response = await fetch(url, {
headers: {
'Authorization': `Bearer ${process.env.GARU_API_KEY}`
}
});
const result = await response.json();
transacoes.push(...result.data);
totalPages = result.totalPages;
page++;
} while (page <= totalPages);
return transacoes;
}
// Listar todas as transações pagas
const pagas = await listarTodasTransacoes('captured');
Próximos Passos
Detalhes da Transação
Consulte os detalhes completos de uma transação
Reembolsar
Emita reembolsos totais ou parciais