Get a transaction
GET/v1/transactions/{id}
Returns the current state of a charge or withdrawal.Parameters
| Parameter | Location | Description |
|---|---|---|
id | path | transactionId returned at creation. |
Response 200 OK
{
"transactionId": "Q4t9aV...",
"type": "pix_in",
"amountCents": 1000,
"feeCents": 10,
"netCents": 990,
"status": "paid",
"externalRef": "pedido-123",
"pixPayload": "00020126580014BR.GOV.BCB.PIX...",
"expiresAt": 1715000000,
"paidAt": 1714999100000,
"createdAt": 1714998000000,
"updatedAt": 1714999100000,
"endToEndId": "E18236120202605080330abc123",
"payer": {
"name": "Maria Santos",
"document": "98765432100",
"documentType": "cpf",
"bankAccount": {
"ispb": "18236120",
"branch": "1",
"account": "914453272"
}
}
}Same fields as the list endpoint. pixPayload is null for withdrawals. paidAt is null while the transaction has not reached a final state.
PIX fields (optional)
These only appear in transactions actually settled on the SPI network:
| Field | When it appears | Description |
|---|---|---|
endToEndId | After paid, refunded, partially_refunded (PIX in or paid withdrawal) | BACEN-standard E2E ID of the original PIX. |
payer | In pix_in that received payment | Who paid — { name, document, documentType, bankAccount }. |
beneficiary | In withdrawals (type: "withdrawal") that settled | Who received — same structure as payer. |
refundEndToEndId | In returned withdrawals | E2E ID of the refund PIX. |
In transactions still in pending, processing, failed, cancelled or expired (no settlement), these fields are omitted from the JSON. See Webhook events for the full payer and beneficiary schema.
Errors
| HTTP | error |
|---|---|
| 400 | "transactionId inválido." |
| 401 | "API key inválida ou revogada." |
| 404 | "Transação não encontrada." |
Transactions belonging to another merchant also return
404(not403) — so existence is not leaked.
When to use
- Webhook fallback: when you suspect you missed an event (your application crashed, receive timeout).
- Reconciliation: when processing orders, always confirm the final status by querying before releasing goods/service.
failed_unknownwithdrawals: wait 24h and query to see whether it becamepaidorfailed.
Examples
curl https://api.internationalfinance.com.br/v1/transactions/Q4t9aV... \
-H "Authorization: Bearer $INFI_API_KEY"