Estados de transacción
La API INFI devuelve el estado en el campo status de cada transacción. Los valores posibles dependen del tipo (pix_in para cobros, withdrawal para retiros).
Cobro (type: "pix_in")
| Estado | Significado |
|---|---|
| pending | Cobro creado. Espera pago del cliente. |
| paid | Pago confirmado y acreditado al saldo. |
| failed | Falla reportada por el proveedor. |
expired | Expiró antes de ser pagado. |
cancelled | Cancelado. |
| refunded | Reembolso total. Se debita el saldo del comerciante. |
partially_refunded | Reembolso parcial. refundedAmountCents indica cuánto se devolvió. Puede recibir más reembolsos. |
chargeback | Chargeback aplicado — saldo del comerciante debitado. |
Retiro (type: "withdrawal")
| Estado | Significado |
|---|---|
pending_approval | Aprobación manual activa para esta cuenta. Espera revisión del equipo INFI. El saldo no se debitó. |
| pending | Aceptado, en validación inicial. Saldo ya debitado en modo automático. |
processing_debit | Retiro aprobado manualmente — saldo recién debitado, a punto de enviarse al proveedor. |
| processing | El proveedor confirmó la recepción de la orden. Espera liquidación. |
| paid | Liquidado al destinatario. |
| failed | Falló. Saldo regresó a la cuenta. |
cancelled / rejected | Retiro cancelado/rechazado. Saldo regresó. |
failed_unknown | Estado indeterminado — el proveedor puede haberlo procesado o no. El saldo queda debitado. Estado final en hasta 24h. |
transfer_refunded | Un retiro ya liquidado fue devuelto por el destinatario (PIX Reversal). Saldo reacreditado por completo. |
transfer_partially_refunded | Devolución parcial del destinatario. |
Transiciones típicas
Cobro:
pending→paid(camino feliz).pending→expiredocancelled.paid→refundedopartially_refunded(reembolso).paid→chargeback.
Retiro:
pending→processing→paid(modo automático).pending_approval→processing_debit→processing→paid(modo manual).pending/processing→failed/cancelled/rejected(saldo devuelto).paid→transfer_refunded(destinatario devolvió).processing→failed_unknown(indeterminado — exige conciliación).
paid, failed, cancelled, rejected, chargeback son finales. refunded y transfer_refunded también — una vez totales, no reciben más.
failed_unknown
En retiros, si el proveedor quedó en estado indeterminado (timeout, respuesta ambigua), INFI:
- No devuelve el saldo automáticamente.
- Devuelve HTTP
202constatus: "failed_unknown". - Concilia con el proveedor en hasta 24h y actualiza a
paidofailed.
No dupliques la operación — la clave PIX puede haberse enviado. Espera la conciliación o consulta GET /v1/transactions/:id.