Estados de un pago
Un pago vive en uno de cinco estados. Los verás en el campo status de cualquier transacción.
| Estado | Qué significa | Quién lo provoca |
|---|---|---|
PENDING | Creado y esperando al terminal. No ha pasado ninguna tarjeta. | Tu backend, al crear el pago |
CANCELED | Descartado antes de que el terminal lo confirmara. Nunca hubo cobro. | Tu backend, con /cancellation |
PAID | Confirmado con la tarjeta. Es dinero. | El terminal, con /commit |
VOID_PENDING | Anulación pedida sobre un pago ya confirmado, a la espera del terminal. | Tu backend, con /cancellation |
VOIDED | Anulación ejecutada y confirmada. Definitivo. | El terminal, con /cancellation/commit |
Cómo se encadenan
Fíjate en la flecha rara: CANCELED puede volver a PAID. Si descartas un pago pero el cajero ya pasó la tarjeta, el commit del terminal sobrescribe tu cancelación, porque el dinero ya se movió en el banco. Programa mirando el estado final, no el que pediste.
Dos nombres que verás por ahí y no son estados
PAID_COMPLETE aparece en la descripción del campo confirmData del contrato, y DISCARDED aparece en material antiguo de SPIDI. Ninguno de los dos está en el juego de valores real: el estado de un pago confirmado es PAID, y el de uno descartado es CANCELED. Ambas erratas están reportadas a SPIDI.