QvaPay API
P2P

Cancelar Oferta P2P

Cancelar una oferta P2P como creador o como contraparte.

POST /p2p/:uuid/cancel

Cancela una oferta P2P. El comportamiento varía según el rol del usuario (creador o peer), el tipo de oferta y su estado actual. Los fondos en custodia se devuelven automáticamente cuando aplica.

Autenticación

Bearer Token (Authorization: Bearer <token> en headers).

También puedes llamar a esta ruta con app-id / app-secret en vez de un token de cuenta. Ver Operar con credenciales de app.

Request

curl -X POST "https://api.qvapay.com/p2p/7c9e6679-7425-40de-944b-e07fc1f90ae7/cancel" \
  -H "Authorization: Bearer <token>"

Parámetros (URL)

ParámetroTipoRequeridoDescripción
uuidstringSíUUID de la oferta P2P

Comportamiento según escenario

TipoRolEstadoResultado
sellCreadoropenSe cancela y se reembolsa el monto al creador
sellCreadorprocessing / paidPasa a estado revision
sellPeerprocessing / paid / revisionSe cancela y vuelve a open sin peer
buyCreadoropen (sin peer)Se cancela directamente
buyCreadorprocessing / paid / revisionSe cancela, vuelve a open y se reembolsa al peer
buyPeerprocessing / paidPasa a estado revision

Las ofertas en estado revision solo pueden ser canceladas por moderadores/admins o por quien paga el fiat.

Ofertas por rango

En una oferta flexible:

  • Con ?order=<uuid> se actúa sobre una orden. Quien paga el fiat la cancela y la garantía vuelve a su dueño; si la cancela quien recibe el fiat, se abre una disputa ("status": "revision" en la respuesta) y la resuelve un moderador. Con la orden ya en disputa, ninguna parte puede cancelarla (409 ORDER_IN_DISPUTE).
  • Sin order se cancela la oferta entera: solo su creador y solo si no tiene órdenes activas (409 OFFER_HAS_OPEN_ORDERS si las tiene). En una oferta de venta devuelve a tu saldo lo que quedaba disponible. La respuesta trae status: completed si ya se había liberado alguna orden (la oferta queda sin cupo y conserva su historial de órdenes, visible en el listado my y en GET /p2p/:uuid), cancelled si nunca se liberó ninguna. Si solo quieres frenar órdenes nuevas mientras terminan las que están en curso, pausa la oferta.

Ver Ofertas por rango.

Response (201)

{
  "message": "P2P cancelada",
  "p2p": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
}

Cuando la oferta pasa a revisión:

{
  "message": "P2P en revisión",
  "p2p": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
}

Errores

CódigoDescripción
400P2P no habilitado, oferta no está disponible para cancelar, o ya fue completada/cancelada
401Token de autenticación inválido o ausente
403No tienes permisos para cancelar esta oferta
404Oferta P2P no encontrada
409La oferta cambió de estado durante la operación o ya fue cancelada previamente
409 OFFER_HAS_OPEN_ORDERSOferta por rango con órdenes activas: cancela o termina cada orden primero, o pausa la oferta
429Demasiadas solicitudes (límite: 1 cada 20 segundos)
500Error interno al procesar la cancelación