Saltar al contenido principal
Migo Docs

Descartar transacción

Cancela una transacción de pago alternativo que el cliente abandonó, o una cuya intención de pago expiró. Idempotente para estados sin pagar (CREATED, USEDDISMISSED); para transacciones en IN_PROGRESS, Migo ejecuta el hook de cancelación del procesador cuando este lo soporta — resolviendo a CANCELLED para procesadores que ejecutan un hook de cancelación dedicado, o a DISMISSED para procesadores que soportan una llamada genérica de cancelación upstream.

POST https://mw.migopayments.com/api/v1/integrations/transactions/{transactionId}/dismiss

Consulta la entrada en el spec en vivo: POST /api/v1/integrations/transactions/{transactionId}/dismiss.

Cuándo descartar

  • El cliente cerró la pestaña del comercio sin pagar.
  • El QR / botón de pago renderizado por /payments llegó a su propio TTL.
  • La orden del lado del comercio fue cancelada antes de que el cliente pagara.
  • Un push payment de larga duración en IN_PROGRESS debe forzarse a cancelar y el procesador soporta una cancelación upstream.

Petición

curl -X POST https://mw.migopayments.com/api/v1/integrations/transactions/trx_8f3c2b1d9e7a/dismiss \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{ "reason": "user_cancelled" }'

El cuerpo es opcional y sus llaves no son validadas — envía metadatos libres con fines de auditoría.

Matriz de comportamiento

Estado actualResultadoForma de la respuesta
CREATED, USEDCambia a DISMISSED, sin llamada upstream200 OK (texto plano OK)
IN_PROGRESS (procesador con un hook de cancelación dedicado)Cambia a CANCELLED, se ejecuta el hook de cancelación del procesadorJSON { message, transaction: { uid, status: "CANCELLED" } }
IN_PROGRESS (procesador con una cancelación upstream genérica)Cambia a DISMISSED, se ejecuta la llamada de cancel upstream200 OK (texto plano OK)
IN_PROGRESS (procesador sin ningún hook de cancel)Rechazado405 ownCode 4021
APPROVED, DENIED, EXPIRED, DISMISSEDRechazado (estado no elegible)409 ownCode 4020

Errores

HTTPownCodeCausa
4005000Falta transactionId
4042000Transacción no encontrada
4054021El procesador no permite descartar (sin hook de cancel) para una transacción en IN_PROGRESS
4094020El estado de la transacción no es elegible para descartar (APPROVED, DENIED, EXPIRED, DISMISSED)
500Configuración del procesador faltante o falló la llamada de cancel upstream