Consultar pagamentos
Liste pagamentos com filtros, ordenação e paginação.
Busca pagamentos com filtros e paginação.
GET /payments
Requer autenticação. Envie suas credenciais no header Authorization. Veja Autenticação.
Requisição
GET /payments?status=ACTIVE&take=10&skip=0&sort_by=created&sort_direction=DESC
Authorization: Basic <suas_credenciais_em_base64>Parâmetros
Prop
Type
Resposta
{
"items": [
{
"pix_id": "ba5ce1d5cd58ff77d99b36cee2224e37",
"external_id": "6b912619-f8b5-46f9-b16a-872743f5ed50",
"pix_code": "00020126360014BR.GOV.BCB.PIX0114...",
"qrcode_image": "<base64>",
"value": "9.99",
"receivable_value": "9.50",
"paggpix_fee_percentage": "0.50",
"paggpix_fee_value": "0.50",
"partner_fee_percentage": "0.25",
"partner_fee_value": "0.25",
"customer": {},
"created": "2024-01-01T00:00:00.000Z",
"expires": "2024-01-02T00:00:00.000Z"
}
],
"start": 0,
"end": 1,
"total": 1
}Campos da resposta (paginação)
Prop
Type
Cada item em items segue a mesma estrutura de PaymentResponse (ver Criar pagamento).
Mesmo quando a listagem é filtrada por status, os itens retornados não incluem o campo status. Para consultar o status atual de um pagamento específico, use Verificar pagamento.
Exemplos
curl "https://public-api.paggpix.com/payments?status=ACTIVE&take=10&sort_by=created&sort_direction=DESC" \
-H "Authorization: Basic <suas_credenciais_em_base64>"const axios = require('axios');
const CLIENT_ID = '<seu_client_id>';
const CLIENT_SECRET = '<seu_client_secret>';
const CREDENTIALS = Buffer.from(`${CLIENT_ID}:${CLIENT_SECRET}`).toString('base64');
const BASE_URL = 'https://public-api.paggpix.com';
async function queryPayments(filters = {}) {
try {
const params = new URLSearchParams();
if (filters.status) params.append('status', filters.status);
if (filters.startDate) params.append('start_date', filters.startDate);
if (filters.endDate) params.append('end_date', filters.endDate);
if (filters.sortBy) params.append('sort_by', filters.sortBy);
if (filters.sortDirection) params.append('sort_direction', filters.sortDirection);
if (filters.take) params.append('take', filters.take.toString());
if (filters.skip) params.append('skip', filters.skip.toString());
const query = params.toString() ? `?${params.toString()}` : '';
const { data } = await axios.get(`${BASE_URL}/payments${query}`, {
headers: { Authorization: `Basic ${CREDENTIALS}` },
});
console.log(`Found ${data.total} payments`);
data.items.forEach((payment) => {
console.log(`Payment: id = ${payment.pix_id}, value = ${payment.value}, created = ${payment.created}`);
});
} catch (error) {
console.error(error.response ? error.response.data : error.message);
}
}
queryPayments({ status: 'ACTIVE', take: 10, sortBy: 'created', sortDirection: 'DESC' });