Logo

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' });

On this page