Skip to main content
POST
Cancela una orden creada previamente con Inyectar orden. Fire busca la orden por account y order_uid, actualiza la orden a CANCELED y devuelve la orden actualizada dentro del sobre estándar de la API. Si el procesador de pago guardado soporta reembolsos (por ejemplo, Deuna), Fire intenta el reembolso y deja payment_status en REFUNDED cuando es exitoso. Para otros procesadores, Fire cancela el estado de pago y deja payment_status en CANCELED.
string
requerido
Token Bearer obtenido desde POST /login. Formato: Bearer <accessToken>.
string
requerido
Tu API key de Fire.
string
requerido
Debe ser integration. Identifica la petición como proveniente de una integración externa.
string
requerido
Identificador de la cuenta usado para encontrar la orden.
string
predeterminado:"application/json"
Usa application/json para el cuerpo de la petición.
string
requerido
UID de la orden que se va a cancelar.
string
requerido
Motivo de la cancelación o solicitud de reembolso.
string
Opcional. UID del método de pago usado para resolver credenciales de reembolso cuando necesitas apuntar a un método específico.
string
requerido
UID del vendor usado para resolver credenciales de pago.
string
Email del cliente enviado al procesador de pago cuando aplica.
string
UID del cliente registrado. Si está presente, Fire trata el payload de reembolso como autenticado.
string
UID del cliente anónimo. Se usa como identificador de usuario de pago cuando no existe customer_uid.
string
UID de la tienda usado para resolver credenciales de pago específicas de la tienda.
string
Medio de venta usado para resolver credenciales. Valores soportados: APP, WEB.
string
Opcional. ID del motivo de cancelación o código del catálogo. Cuando se envía, se persiste en la orden y se reporta al gateway de pago.
object
Orden actualizada. Los precios en order_lines, totals y payment_methods se devuelven como montos externos sin escalar.
number
Código HTTP dentro del sobre de la API.
string
Identificador de traza para soporte y diagnóstico.

Reglas de procesamiento

  • Cuando se envía, payment_method_uid ayuda a resolver credenciales, pero Fire evalúa los métodos de pago guardados en la orden.
  • Para reembolsos con Deuna, la orden debe incluir metadata.order_token; si no existe, Fire devuelve 400.
  • Después de guardar la orden actualizada, Fire devuelve precios transformados para consumo externo.
  • Fire notifica la cancelación downstream después de guardar la orden.

Comportamiento posterior a la cancelación

Un 200 significa que la orden quedó cancelada. No significa que el documento fiscal ya esté anulado: esa parte es asíncrona y puede seguir en curso, o fallar, después de que respondimos.

La anulación fiscal es asíncrona

Cuando la orden tenía un documento fiscal emitido, Fire solicita su anulación al proveedor y deja el documento en cancelling. El estado final llega por webhook del proveedor, no en la respuesta de este endpoint. Si el webhook del proveedor nunca llega, el documento queda en cancelling indefinidamente: no hay reintento automático que lo destrabe. Para un integrador que necesita certeza fiscal, esperar el 200 de este endpoint no alcanza — hay que consultar el estado del documento después.

Los montos no se ponen en cero

La orden cancelada conserva sus totales y sus métodos de pago con los importes originales. order_lines, totals y payment_methods vuelven con los mismos valores que antes de cancelar; lo que cambia es status y payment_status. Esto es deliberado: la orden es el registro de lo que pasó, no de lo que quedó vigente. Si conciliás montos contra órdenes canceladas, vas a encontrar que cuadran perfecto — porque se cobró exactamente lo que se vendió antes de anular. La conciliación correcta para una orden cancelada no es “¿coinciden los montos?” sino “¿se revirtió cada eslabón?”.

La anulación es total, nunca parcial

No existe la anulación por líneas ni por importe: se cancela la orden entera o no se cancela. Por eso el request no lleva montos ni lista de ítems. Si necesitás revertir solo una parte, la operación es cancelar y volver a inyectar.

Qué verificar del lado del cliente

  • No asumas que el documento fiscal quedó anulado por recibir 200. Consultá su estado si necesitás certeza.
  • payment_status distingue dos desenlaces distintos: REFUNDED (el procesador devolvió la plata) y CANCELED (se anuló el cobro sin devolución). No son equivalentes para una conciliación.
  • El evento downstream sale después de guardar la orden, no después de que se confirme la anulación fiscal. Llega antes de que el circuito esté cerrado.