Transaction status
The INFI API returns the status in the status field of every transaction. The possible values depend on the type (pix_in for charges, withdrawal for withdrawals).
Charge (type: "pix_in")
| Status | Meaning |
|---|---|
| pending | Charge created. Awaiting customer payment. |
| paid | Payment confirmed and credited to balance. |
| failed | Failure reported by the provider. |
expired | Expired before being paid. |
cancelled | Cancelled. |
| refunded | Full refund. Merchant balance is debited. |
partially_refunded | Partial refund. refundedAmountCents indicates how much has been returned. May receive more refunds. |
chargeback | Chargeback applied — merchant balance debited. |
Withdrawal (type: "withdrawal")
| Status | Meaning |
|---|---|
pending_approval | Manual approval enabled for this account. Awaits review by the INFI team. Balance has not been debited. |
| pending | Accepted, in initial validation. Balance already debited in automatic mode. |
processing_debit | Withdrawal approved manually — balance just got debited, about to be sent to the provider. |
| processing | The provider confirmed receipt of the order. Awaiting settlement. |
| paid | Settled to the recipient. |
| failed | Failed. Balance returned to the account. |
cancelled / rejected | Withdrawal cancelled/rejected. Balance returned. |
failed_unknown | Indeterminate state — the provider may or may not have processed it. Balance remains debited. Final status within 24h. |
transfer_refunded | An already-settled withdrawal was returned by the recipient (PIX Reversal). Balance re-credited in full. |
transfer_partially_refunded | Partial return by the recipient. |
Typical transitions
Charge:
pending→paid(happy path).pending→expiredorcancelled.paid→refundedorpartially_refunded(refund).paid→chargeback.
Withdrawal:
pending→processing→paid(automatic mode).pending_approval→processing_debit→processing→paid(manual mode).pending/processing→failed/cancelled/rejected(balance returned).paid→transfer_refunded(recipient returned).processing→failed_unknown(indeterminate — requires reconciliation).
paid, failed, cancelled, rejected, chargeback are final. refunded and transfer_refunded are also final — once total, no further refund.
failed_unknown
For withdrawals, if the provider ended up in an indeterminate state (timeout, ambiguous response), INFI:
- Does not auto-return the balance.
- Returns HTTP
202withstatus: "failed_unknown". - Reconciles with the provider within 24h and updates to
paidorfailed.
Do not duplicate the operation — the PIX key may have been sent. Wait for reconciliation or query GET /v1/transactions/:id.