Desarrolladores
Flujos de integración
Pagos pendientes

Pagos pendientes (retomar o eliminar)

Una transacción queda pendiente cuando se creó pero no se completó: el cliente cerró el checkout, abandonó el Step-Up 3DS, o el QR no se pagó. Estados pendientes: PENDIENTE y PENDING_3DS.

WizPay te deja listarlas, retomarlas (reutilizar la misma reference) o eliminarlas (cancelarlas definitivamente).

Listar pendientes

const pending = await wpay.listPending()
[
  {
    "reference": "WP-1784169095747-578AFA46",
    "order_id": "ORD-1042",
    "name": "Pedido #1042",
    "amount": 350.0,
    "payment_method": "CARD",
    "status": "PENDIENTE",
    "created_at": "2026-07-16 10:22:41"
  }
]

Vienen ordenadas de la más reciente a la más antigua, solo las de tu sistema.

Retomar un pago

No necesitas crear otra transacción: usa la misma reference y repite el flujo desde /payment/auth-setup/payment/process (tarjeta), o vuelve a mostrar el QR con su reference.

// El cliente vuelve al checkout de un pedido con pago pendiente:
const pending = await wpay.listPending()
const tx = pending.find(t => t.order_id === orderId)
if (tx) {
  // retomar: seguir el flujo de tarjeta con tx.reference
}

Patrón de la página de éxito del ejemplo: si el cliente aterriza en /payment/success?reference=... pero GET /status/:reference devuelve PENDIENTE o PENDING_3DS, ofrécele los botones Retomar y Eliminar en vez de mostrar éxito.

Eliminar (cancelar) un pago pendiente

await wpay.cancelPending('WP-1784169095747-578AFA46')
// → { reference: 'WP-1784169095747-578AFA46', status: 'CANCELADO' }

La transacción pasa a CANCELADO y se borra su sesión de pago 3DS. Solo se pueden eliminar transacciones en estado pendiente:

HTTPMensajeCausa
404Transacción no encontradaLa reference no existe o es de otro sistema.
400No se puede eliminar una transacción en estado APROBADOYa se completó (el mensaje incluye el estado real).

Referencia de endpoints usados