> ## Documentation Index
> Fetch the complete documentation index at: https://developers.paycode.com.mx/llms.txt
> Use this file to discover all available pages before exploring further.

# Reembolsos y Cancelaciones

PayCode permite gestionar devoluciones de transacciones aprobadas. Todas las cancelaciones se procesan como devoluciones — no existe un flujo de cancelación instantánea independientemente del adquirente con el que se procesó la transacción original.

## Cómo funciona una devolución

Para generar una devolución solo necesitas el `reference_number` que PayCode retorna en la respuesta original del cobro. Este número engloba toda la información de la transacción.

<Note>
  No necesitas datos adicionales de la tarjeta ni información bancaria del cliente. El reembolso se acredita automáticamente a la misma tarjeta con la que se realizó el pago original.
</Note>

**Condiciones para generar una devolución:**

* La transacción debe estar aprobada
* El cliente tiene hasta 6 meses desde la fecha de la transacción para solicitar una devolución

**Método:** `POST` **Endpoint:** `/api/v2/payments/refund`

**Header requerido:** `Authorization: Bearer {token}`

**Ejemplo de request:**

```json theme={null}
{
  "reference_number": "178330651"
}
```

*(Ejemplo de respuesta pendiente)*

***

## Devoluciones parciales

Es posible devolver un monto menor al cobro original. Sin embargo este tipo de devolución requiere documentación adicional y se gestiona de forma manual por el equipo de operaciones de PayCode.

**Documentos requeridos para devoluciones parciales:**

* Ticket de la transacción
* Detalles de la transacción
* Hora de la transacción
* ID y referencia de la transacción
* Número de autorización

<Note>
  Las devoluciones parciales pueden tomar más de 7 días hábiles en procesarse. Si necesitas gestionar una devolución parcial contacta directamente al equipo de operaciones de PayCode.
</Note>

***

## Tiempos de procesamiento

| Tipo                          | Tiempo estimado                                         |
| ----------------------------- | ------------------------------------------------------- |
| Devolución total              | *(Pendiente de confirmar con el equipo de operaciones)* |
| Devolución parcial            | Más de 7 días hábiles                                   |
| Reflejo en cuenta del cliente | Variable, depende del banco del cliente                 |

<Note>
  El tiempo para que el banco del cliente refleje el abono en su cuenta es independiente de PayCode. Cada banco maneja sus propios tiempos internos.
</Note>

***

## Comportamiento por adquirente

Aunque el proceso para el desarrollador es el mismo en todos los casos, el procesamiento interno varía según el adquirente. PayCode gestiona estas diferencias automáticamente en el backend.

| Adquirente       | Tipo de devolución | Procesamiento                                  |
| ---------------- | ------------------ | ---------------------------------------------- |
| Banregio         | Total              | Manual por el equipo de operaciones de PayCode |
| Broxel           | Total              | Automático vía API                             |
| Broxel           | Parcial            | Manual con documentación adicional             |
| American Express | Total              | Manual por el equipo de operaciones de PayCode |

<Note>
  No es necesario implementar una lógica diferente para cada adquirente. Desde la integración el proceso es el mismo en todos los casos, envía el `reference_number` al endpoint de devolución. PayCode identifica automáticamente el adquirente correspondiente y procesa la devolución según sus reglas internas.
</Note>
