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:
| HTTP | Mensaje | Causa |
|---|---|---|
404 | Transacción no encontrada | La reference no existe o es de otro sistema. |
400 | No se puede eliminar una transacción en estado APROBADO | Ya se completó (el mensaje incluye el estado real). |