Statement types and financial codes
Understand statement_type, reference_type, and the payment methods returned by the API.
The fields on this page describe different facts. Always check the resource and field name before interpreting a code. A fee and a payment method do not share a universal numbering system.
In a statement, statement_type: 2 means a fee,
while reference_type: 2 means
a reference to a dispute. The first classifies the movement; the second
classifies the related resource.
Statement entry types
statement_type describes the nature of an entry in the
Statement. amount_cents keeps the sign of the
amount in Brazilian real cents.
| Code or value | Meaning | How to interpret |
|---|---|---|
1 | Funds received | Confirmed incoming amount in the statement, shown with a positive sign. Check the entry reference to identify its source; a receipt does not always need to refer to a charge. |
2 | Fee | Fee charged, shown as a negative amount. When a charge is related, the incoming amount and fee appear as separate entries. |
3 | Service fee | Amount charged for a service, with a negative sign. The available reference helps identify the source of the charge; the type alone does not indicate which service was used. |
4 | Withdrawal | Outgoing withdrawal amount, with a negative sign. Use the withdrawal reference to check its identifier and result. |
5 | Refund | Confirmed outgoing refunded amount, with a negative sign. This may be the entry that completes a charge refund after earlier refunds; check the history for the total returned. |
6 | Partial refund | Confirmed outgoing portion of an amount received, with a negative sign. The remaining refundable amount also depends on other refunds and disputes linked to the charge. |
7 | Credit adjustment | Adjustment that adds to the balance, shown with a positive sign. Check the reference and available details to understand the reason; this type does not identify a customer payment. |
8 | Debit adjustment | Adjustment that subtracts from the balance, shown with a negative sign. Check the reference and available details to understand the reason; this type does not necessarily identify a withdrawal or refund. |
9 | Balance hold | Amount that became unavailable for use, shown with a negative sign. A hold does not confirm an expense or refund; check the held balance and related case, when provided. |
10 | Balance release | Previously held amount that became available again, shown with a positive sign. A release is not new revenue and does not represent another customer payment. |
A payment can generate more than one entry, such as a receipt and a fee. A hold reduces the availability of money without being an expense in itself. Releasing it is not new revenue.
The current balance has a separate query, with total, held, and available amounts. Adding up one page of the statement does not replace that query or provide the balance after each entry.
Statement reference categories
reference_type explains the category of reference_id. It does not indicate
whether the entry is a credit, debit, fee, or hold.
| Code or value | Meaning | How to interpret |
|---|---|---|
1 | Charge | The reference identifier points to a charge. Several entries, such as incoming funds, a fee, and a refund, can relate to the same charge; also check the entry type and any refund or dispute links. |
2 | Dispute | The reference identifier points to a dispute. Check the case to interpret the association; the reference alone does not prove a loss, win, or refund. |
3 | Withdrawal | The reference identifier points to a withdrawal. This classification indicates the entry source and should be read together with its amount and type. |
4 | Adjustment | The reference identifier points to a financial adjustment. The entry type and amount sign indicate the direction of the adjustment. |
5 | Manual entry | The reference identifies a manual entry and may have no prefix. Do not treat it as a charge identifier or assume that a public endpoint exists to retrieve it. |
reference_id and reference_type can be null. The refund_id and
dispute_id fields provide additional links when an association is confirmed.
A fee is not automatically assigned another entry's refund just because both
belong to the same charge.
Payment methods
These codes identify payment methods in the API's payment_method field.
A code appearing in a response does not mean that method is enabled for
creating a charge or paying at checkout.
| Code or value | Meaning | How to interpret |
|---|---|---|
0 | Undefined | The charge does not yet have a defined payment method. Allowed options come from the charge and checkout configuration; this value does not indicate confirmed payment. |
1 | Pix | Identifies payment by Pix. Issuing a Pix code enables payment of the charge, but confirmation depends on receiving the payment. |
2 | Boleto | Identifies payment by boleto. Registration, clearing, and settlement are different stages; check the boleto status and charge payment. |
3 | Credit card | Identifies a credit card in data using this code. The presence of this value in the catalog does not enable the method at checkout; use only methods accepted by the endpoint when creating a charge. |
4 | Debit | Identifies debit payment in data using this code. The presence of this value in the catalog does not enable the method at checkout; use only methods accepted by the endpoint when creating a charge. |
For new charges, see Payment methods. The guide
distinguishes payment_method, payment_method_types, and
checkout_payment_method. The list accepted during creation follows the
endpoint's options, and a link configuration can restrict the charge's options.
Issuing Pix details or a boleto does not confirm payment.
Withdrawal failure reasons
When a withdrawal's status is FAILED, failure_reason.code reports the
recorded reason. In other statuses, failure_reason is null. These codes
come from retrieving a withdrawal and are
different from the request's HTTP status.
| Code or value | Meaning | How to interpret |
|---|---|---|
INVALID_BANK_ACCOUNT | Invalid account | The destination account details were not accepted. |
BANK_ACCOUNT_UNAVAILABLE | Account unavailable | The destination account was unavailable. |
BANK_UNSUPPORTED | Institution not accepted | The destination institution was not accepted for the withdrawal. |
INVALID_ACCOUNT_TYPE | Invalid account type | The destination account type was not accepted. |
INSUFFICIENT_BALANCE | Insufficient balance | There was not enough balance to complete the withdrawal. |
BLOCKED_BALANCE | Balance held | Held amounts prevented the withdrawal. |
BELOW_MINIMUM_WITHDRAWAL | Below the minimum | The requested amount was below the allowed minimum. |
ABOVE_MAXIMUM_WITHDRAWAL | Above the maximum | The requested amount exceeded the allowed maximum. |
WITHDRAWAL_LIMIT_REACHED | Limit reached | A withdrawal limit prevented the request. |
DUPLICATED_REQUEST | Duplicate request | Check the history before requesting another transfer. |
RISK_POLICY_REJECTED | Withdrawal not authorized | Check the account notices or contact support. |
WITHDRAWAL_TEMPORARILY_UNAVAILABLE | Withdrawal unavailable | The request could not be completed at that time. |
BANK_PROCESSING_FAILURE | Transfer failure | Check the history and contact support if needed. |
BANK_TIMEOUT | Time limit exceeded | No final result was available within the expected time. Check the history before repeating the request. |
INTERNAL_ERROR | Processing failure | Check the history and contact support if needed. |
WITHDRAWAL_FAILURE_REASON_UNAVAILABLE | Reason unavailable | No confirmed reason is available to show. Contact support if needed. |
Use the code to handle the response in your system. The English message adds diagnostic information and can change without changing the code. Check the withdrawal and history before making another request; retrieval does not repeat the transfer or confirm that another attempt will be accepted.