Codex · III

Estados y reembolsos

Estados de transacción

Cada fila de transacción en el panel tiene uno de estos estados. El estado refleja el evento más reciente para esa transacción; los reembolsos y disputas actualizan la fila existente en lugar de insertar una fila hermana.

EstadoSignificado
succeededPago completado. El dinero está en tu cuenta (neto de comisiones del proveedor).
pendingPago en curso. Común con métodos de pago asíncronos (ACH, algunos rieles cripto) donde la confirmación toma minutos a horas.
failedEl pago no se completó: tarjeta rechazada, autorización expirada, rechazo duro. No se movió dinero.
partialEl comprador pagó menos de lo facturado (común cuando un comprador cripto envía un monto reducido por comisión de red). El amount de la fila refleja lo que realmente se recibió; revisa metadata.invoicedAmount para lo que se solicitó.
refundedEl dinero ha sido devuelto al comprador, total o parcialmente. El amount de la fila es el monto reembolsado; los reembolsos pueden ocurrir días o semanas después del pago original.
disputedEl comprador (o su banco) abrió una disputa o contracargo. Revisa la interfaz del proveedor para la ventana de respuesta. El metadata.reason de la fila lleva la clasificación del proveedor tal cual.
pending_manualUna transacción de pago por correo está esperando tu confirmación física. Consulta la siguiente sección.
manual_canceledHiciste clic en Cancelar en una fila de pago por correo pendiente antes de que llegara el pago del comprador.
manual_expiredUna fila de pago por correo pendiente estuvo 30 días sin confirmación y expiró automáticamente.
manual_revokedConfirmaste la recepción de un pago por correo pero después deshiciste la confirmación (ej., el pago resultó ser inválido). La fila pasa de succeeded a este estado terminal.

Reembolsos, disputas, pagos parciales

Coin Moebius escucha estos eventos del proveedor y actualiza la fila de transacción original en el panel. Específicamente:

  • Reembolsos: el evento charge.refunded de Stripe (reembolsos totales o parciales, incluyendo amount_refunded para que los reembolsos parciales muestren la porción devuelta). El IPN refunded de NOWPayments. El estado de la fila cambia a refunded, el amount refleja el monto reembolsado, y metadata.originalChargeId / metadata.originalAmount llevan el contexto del pago original.
  • Disputas (contracargos): el evento charge.dispute.created de Stripe. El estado de la fila cambia a disputed. La razón declarada por el proveedor pasa tal cual a metadata.reason, puedes renderizarla en tu propia interfaz como quieras.
  • Pagos parciales: el IPN partially_paid de NOWPayments. El estado de la fila cambia a partial. El amount refleja lo que realmente se recibió (actually_paid); metadata.invoicedAmount es lo que se solicitó.

En v1, estos eventos se muestran en el panel y a través del endpoint /status. Una versión futura agregará notificaciones por correo y un reenviador de webhooks salientes para que tu propio backend pueda reaccionar automáticamente. Por ahora, configura un pequeño trabajo de consulta (consulta la siguiente sección) o revisa el panel.

¿Listo para conectarlo?

El plan gratis cubre la mayoría de los sitios y nunca pide tarjeta.