PayZuDocs
Tutorials

Match your transactions with ours every day, querying movements in real time or pulling reports over long periods, and use your own reference to pair each payment with the right order.

Real-time listing

To check live transactions (dashboard, previous-day reconciliation):

curl "https://api.payzu.processamento.com/v1/user/transactions?dateFrom=2025-08-01&dateTo=2025-08-31&page=1&limit=100" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json"

Filter details in GET /user/transactions.

The listing filters (clientReference, status, type, window via dateFrom/dateTo, endToEndId, document/name, virtualAccount) are documented in Pagination · Available filters.

Transaction detail

curl "https://api.payzu.processamento.com/v1/user/transactions/PAYZU2025..." \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json"

Schema in GET /user/transactions/{id}.

Async report

For large windows (month, year), use the 3-step flow.

Request generation

POST /user/report.

curl -X POST https://api.payzu.processamento.com/v1/user/report \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "dateFrom": "2025-01-01",
    "dateTo": "2025-12-31",
    "status": ["COMPLETED"],
    "type": ["DEPOSIT", "WITHDRAW"]
  }'

The response includes the job id.

Track status

GET /user/report/{id}.

curl "https://api.payzu.processamento.com/v1/user/report/JOB_ID" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json"

Download when ready

POST /user/report/{id}/download returns a short-lived signed URL to download the CSV.

curl -X POST "https://api.payzu.processamento.com/v1/user/report/JOB_ID/download" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json"
  1. Identify each Pix charge/payment with clientReference, that's your identifier, don't rely only on PayZu's id.
  2. Use callbacks as the primary source, don't poll.
  3. Daily reconciliation via report: pull the previous day's CSV and cross-check with your DB. Detects missed callbacks.
  4. Store endToEndId, useful for tracing at Bacen in case of a dispute.
  5. Sort by createdAt or paidAt, never by id. The id is opaque and the date fragment it carries has day-level precision, so it doesn't order two transactions on the same day.

Balances

To check available balance before paying:

curl https://api.payzu.processamento.com/v1/user/balance \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json"

See GET /user/balance.

On this page