---
title: "Crear un reembolso"
method: POST
path: "/refunds"
tags: ["refunds"]
---

# Crear un reembolso

`POST /refunds`

Reembolsa un intent. Usa `intent_id` con el ID unificado `in_…` para
cualquier tipo compatible. `payment_intent_id` sigue aceptándose como
alias legado para integraciones existentes.

Para pagos electrónicos, devuelve los fondos al método de pago original
del cliente. Para una venta en efectivo (`cash`), no mueve dinero: marca
el intent como cancelado y anula su DTE, igual que la operación del panel.
Envía `amount_in_cents` para solicitar un reembolso parcial en CyberSource
o Visa CyberSource. Si omites el monto, se reembolsa todo el saldo
pendiente. Puedes enviar varios reembolsos parciales hasta cubrir el total.
Otros proveedores solo admiten el saldo pendiente completo.

Para reembolsar un cobro de una cuenta conectada, envía su ID en el
header `X-ACCOUNT-ID`; la API key debe permitir movimientos de dinero.
Envía `refund_application_fee: true` para regresar a la cuenta dueña del
cobro todas sus comisiones de plataforma antes de solicitar el reembolso
al procesador. El valor predeterminado es `false` y las distribuciones
con `purpose: fund_split` nunca se revierten por este parámetro.

Recurrente reserva los movimientos y el balance del comercio sin
mantener bloqueos durante la llamada externa. Si el procesador rechaza
el reembolso, crea movimientos compensatorios. Una factura fiscal de
comisión se puede anular cuando todas sus líneas pertenecen a este
reembolso; un documento que agrupa otros pagos hace fallar la solicitud
antes de contactar al procesador. Si otra solicitud ya está procesando
el mismo reembolso, responde `202` y no vuelve a llamar al proveedor.
Si el resultado del proveedor queda indeterminado, el reembolso permanece
`pending` con `failure_reason: provider_outcome_unknown`; Recurrente conserva
la reserva, no reintenta automáticamente y un POST posterior responde `422`
con el `refund_id` para consultar y reconciliar el caso.

Usa un `Idempotency-Key` único por reembolso. Cuando una solicitud parcial
responde `202`, las repeticiones con la misma llave y cuerpo reproducen
esa respuesta con el mismo `refund_id`; consulta ese ID antes de enviar
otro monto.

## Headers

- `X-SECRET-KEY` string, required

## Request body

- union
  - unknown
  - unknown

## Response `200`

Reembolso procesado

- Refund
  - `id` string — ID del reembolso
  - `status` 'pending' | 'succeeded' | 'failed' | 'voided' — Estado del reembolso
  - `failure_reason` string, nullable — Razón del fallo. `provider_outcome_unknown` indica que el resultado debe reconciliarse antes de reintentar
  - `customer` RefundCustomer
    - `id` string — ID del cliente
    - `email` string, email
    - `full_name` string
  - `user_id` string — ID del usuario
  - `account_id` string — Cuenta dueña del cobro reembolsado
  - `account_refunded_amount_in_cents` integer — Monto debitado de la cuenta del comercio (en centavos)
  - `customer_refunded_amount_in_cents` integer — Monto devuelto al cliente (en centavos)
  - `refund_application_fee` boolean — Si las comisiones de plataforma se devolvieron con el reembolso
  - `transfer_adjustments` RefundTransferAdjustment[] — Transfer setups cancelados o revertidos por este reembolso
    - `action` 'cancel' | 'reverse', required
    - `transfer_setup_id` string, required — Transfer setup afectado
    - `reversal_transfer_id` string, nullable — Transfer inverso creado; `null` cuando solo se canceló un setup pendiente
    - `restoration_transfer_id` string, nullable — Transfer compensatorio creado si el procesador rechazó el reembolso
    - `restored_at` string, date-time, nullable — Momento en que el ajuste se compensó por un rechazo del procesador
    - `amount_in_cents` integer, required
  - `currency` string — Moneda
  - `created_at` string, date-time — Fecha de creación
  - `voided_at` string, date-time, nullable — Fecha de anulación, si el reembolso fue anulado

## Other responses

- `422` — No se pudo procesar el reembolso

---

[API](https://skmtc.dev/recurrente/apis/referencia-api.md) · [All operations](https://skmtc.dev/recurrente/apis/referencia-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/recurrente/referencia-api/revisions/f494a078482c/schema)
