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ámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
uuid | string | Sí | UUID de la oferta P2P |
Comportamiento según escenario
| Tipo | Rol | Estado | Resultado |
|---|---|---|---|
sell | Creador | open | Se cancela y se reembolsa el monto al creador |
sell | Creador | processing / paid | Pasa a estado revision |
sell | Peer | processing / paid / revision | Se cancela y vuelve a open sin peer |
buy | Creador | open (sin peer) | Se cancela directamente |
buy | Creador | processing / paid / revision | Se cancela, vuelve a open y se reembolsa al peer |
buy | Peer | processing / paid | Pasa 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
orderse cancela la oferta entera: solo su creador y solo si no tiene órdenes activas (409 OFFER_HAS_OPEN_ORDERSsi las tiene). En una oferta de venta devuelve a tu saldo lo que quedaba disponible. La respuesta traestatus:completedsi ya se había liberado alguna orden (la oferta queda sin cupo y conserva su historial de órdenes, visible en el listadomyy enGET /p2p/:uuid),cancelledsi 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ódigo | Descripción |
|---|---|
400 | P2P no habilitado, oferta no está disponible para cancelar, o ya fue completada/cancelada |
401 | Token de autenticación inválido o ausente |
403 | No tienes permisos para cancelar esta oferta |
404 | Oferta P2P no encontrada |
409 | La oferta cambió de estado durante la operación o ya fue cancelada previamente |
409 OFFER_HAS_OPEN_ORDERS | Oferta por rango con órdenes activas: cancela o termina cada orden primero, o pausa la oferta |
429 | Demasiadas solicitudes (límite: 1 cada 20 segundos) |
500 | Error interno al procesar la cancelación |