neo-pays

Estados

El ciclo de vida de una operación, del clic a la liquidación.

Estado Terminal Significado
initiated no Creada; el pagador aún no ha actuado
pending no El pagador ha actuado; falta la confirmación del rail
success Cobrada — los fondos están abonados en su saldo
failed Rechazada o fallida en el rail
cancelled Anulada (por el pagador o por usted) antes del cobro
expired El enlace o la sesión de pago expiró sin acción

Reglas

  • Un estado terminal no vuelve a cambiar jamás. success no se convierte en failed; un cobro disputado produce un recurso nuevo (reembolso, disputa), nunca una reescritura del historial.
  • pending puede durar — algunos pagadores validan su código USSD varios minutos después. Nunca trate pending como un fallo.
  • La transición que le interesa llega por webhook; la lectura (GET /v1/payments/{id}) es la red de seguridad, no el mecanismo principal.

No derive su estado del nuestro

Un estado describe nuestra operación. En qué debe convertirse su pedido es decisión suya: un success no quiere decir «enviar», quiere decir «los fondos están con usted». Mantenga su propia máquina de estados y hágala avanzar con los eventos, no al revés.