> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Cobros

> Cómo funcionan los cobros Pix (cobranças) en el Plugin Pix Indirecto (BTG): cobros inmediatos (COB) y con vencimiento (COBV), su ciclo de vida, la vinculación de pagos y los eventos de webhook.

Un **cobro** (cobrança) es un cobro Pix dinámico de un solo uso que solicita un pago específico. El Plugin Pix Indirecto (BTG) admite dos tipos, ambos representados como QR Codes dinámicos:

* **Inmediato (COB)** — `cobrança imediata`: un cobro de corta duración por un monto fijo. Úsalo para checkout y pagos únicos.
* **Con vencimiento (COBV)** — `cobrança com vencimento`: un cobro tipo boleto con una fecha de vencimiento y multa, interés, descuento y abatimiento opcionales. Úsalo para facturas, cuotas y facturación B2B.

Esta guía cubre el ciclo de vida del cobro y el flujo de pago. Para los detalles de generación de QR Codes y la validación campo por campo, consulta la [guía de QR Codes](/es/midaz/plugins/pix/indirect/indirect-pix-qrcodes).

# Ciclo de vida

***

Ambos tipos de cobro comparten el mismo modelo de estados:

| Estado                | Significado                               |
| --------------------- | ----------------------------------------- |
| `ACTIVE`              | Creado y disponible para pago             |
| `CONCLUDED`           | Pago recibido — el cobro está liquidado   |
| `REMOVED_BY_RECEIVER` | Cancelado por el comercio (`DELETE`)      |
| `REMOVED_BY_PSP`      | Cancelado por el PSP (sistema o política) |

Un cobro avanza por: **creado → `ACTIVE` → `CONCLUDED`** (pagado) o **expirado / removido**. Al crearlo, el plugin programa un **trabajo de expiración**:

* **Inmediato (COB):** expira después de `expirationInSeconds`.
* **Con vencimiento (COBV):** expira en `dueDate + validAfterDue` días (por defecto 30).

Una vez expirado o `CONCLUDED`, un cobro ya no puede pagarse, y un cobro `CONCLUDED` no puede eliminarse (`PIX-0104`) ni actualizarse (`PIX-0022`).

# Campos clave

***

| Campo                                                 | Requerido en           | Notas                                                                             |
| ----------------------------------------------------- | ---------------------- | --------------------------------------------------------------------------------- |
| `txId`                                                | COB + COBV             | Identificador único entre todos los cobros; se usa para vincular el pago entrante |
| `amount`                                              | COB + COBV             | Decimal con 2 posiciones, mayor que 0                                             |
| `receiverKey`                                         | COB + COBV             | Clave Pix que recibe el pago; debe pertenecer a la cuenta                         |
| `expirationInSeconds`                                 | Solo COB               | Ventana de validez para cobros inmediatos                                         |
| `dueDate` / `validAfterDue`                           | Solo COBV              | Fecha de vencimiento y período de gracia posterior al vencimiento                 |
| `debtor`                                              | COBV (opcional en COB) | Nombre + CPF/CNPJ; restringe quién puede pagar                                    |
| `amount.fine` / `interest` / `discount` / `abatement` | Solo COBV (opcional)   | Reglas de cobro exclusivas de COBV                                                |

Para COBV, el valor final liquidado depende del **momento del pago** — el pago anticipado aplica descuentos, el pago a tiempo usa el monto original, y el pago tardío agrega multa e interés (menos cualquier abatimiento).

# Crear, consultar, actualizar, eliminar

***

| Acción     | Inmediato (COB)                         | Con vencimiento (COBV)               |
| ---------- | --------------------------------------- | ------------------------------------ |
| Crear      | `POST /v1/collections/immediate`        | `POST /v1/collections/duedate`       |
| Listar     | `GET /v1/collections/immediate`         | `GET /v1/collections/duedate`        |
| Consultar  | `GET /v1/collections/immediate/{id}`    | `GET /v1/collections/duedate/{id}`   |
| Actualizar | `PATCH /v1/collections/immediate/{id}`  | `PATCH /v1/collections/duedate/{id}` |
| Eliminar   | `DELETE /v1/collections/immediate/{id}` | —                                    |

Todas las solicitudes requieren el encabezado `X-Account-Id`. Las actualizaciones y eliminaciones solo se permiten mientras el cobro está `ACTIVE`.

# Flujo de pago

***

Un cobro se paga mediante un **Pix entrante (cash-in)** que lleva el `txId` del cobro:

1. El comercio crea un cobro y presenta su QR Code (o `txId`) al pagador.
2. El pagador liquida el cobro; BTG notifica al plugin del cash-in entrante.
3. El plugin **vincula el cash-in al cobro** comparando el `txId` del pago con el `txId` del cobro **y** el documento del receptor. (`FindByTxID(txId, receiverDocument)`.)
4. En caso de coincidencia, el cobro pasa a `CONCLUDED` y el cash-in se registra en Midaz como una transacción del libro mayor.
5. El plugin emite un **webhook de cobro pagado** para que tu sistema sea notificado en tiempo real.

<Note>
  Cuando se establece un `debtor` en el cobro, solo un pago desde ese CPF/CNPJ lo liquida. Esta es la principal defensa contra que el pagador equivocado concluya un cobro.
</Note>

# Evento de webhook al pagar

***

Cuando un cobro se liquida, el plugin encola un **webhook saliente** que describe el pago y el nuevo estado `CONCLUDED`, entregado de forma asíncrona por el worker de webhooks salientes. Configura el destino mediante las URLs de webhook de cash-in (`WEBHOOK_TRANSFER_CASHIN_URL`, con `WEBHOOK_DEFAULT_URL` como respaldo). Para los tipos de evento, payloads, reintentos y resolución de URL, consulta la [guía de Webhooks](/es/midaz/plugins/pix/indirect/indirect-pix-webhooks).

# Casos de error

***

| Caso                                             | Comportamiento                                                                                                                                     |
| ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Expirado**                                     | El cobro ya no puede pagarse; un pago entrante tardío no se vincula y sigue el flujo estándar de cash-in no coincidente                            |
| **Monto no coincidente**                         | Un pago cuyo valor no coincide con el cobro se rechaza/maneja según las reglas de BACEN y no concluye el cobro                                     |
| **Deudor no coincidente**                        | Un pago desde un CPF/CNPJ distinto del `debtor` configurado no liquida el cobro (`PIX-0073` cubre los errores de formato del documento del deudor) |
| **`txId` duplicado**                             | La creación falla — `txId` debe ser único entre todos los cobros                                                                                   |
| **Actualizar/eliminar después de la conclusión** | Rechazado (`PIX-0022` / `PIX-0104`) — un cobro `CONCLUDED` es inmutable                                                                            |

# Referencia

***

**Inmediato (COB):** [Crear](/es/reference/midaz/plugins/indirect-pix/create-an-immediate-charge) · [Listar](/es/reference/midaz/plugins/indirect-pix/list-immediate-charges) · [Consultar](/es/reference/midaz/plugins/indirect-pix/retrieve-immediate-charge-details) · [Actualizar](/es/reference/midaz/plugins/indirect-pix/update-an-immediate-charge) · [Eliminar](/es/reference/midaz/plugins/indirect-pix/delete-an-immediate-charge)

**Con vencimiento (COBV):** [Crear](/es/reference/midaz/plugins/indirect-pix/create-a-dynamic-charge-with-due-date) · [Listar](/es/reference/midaz/plugins/indirect-pix/list-dynamic-charges-with-due-date) · [Consultar](/es/reference/midaz/plugins/indirect-pix/retrieve-dynamic-charge-with-due-date-details) · [Actualizar](/es/reference/midaz/plugins/indirect-pix/update-a-dynamic-charge-with-due-date)

# Próximos pasos

***

* [QR Codes](/es/midaz/plugins/pix/indirect/indirect-pix-qrcodes) — Tipos de QR Code y el decodificador
* [Transferencias intra-PSP](/es/midaz/plugins/pix/indirect/indirect-pix-intra-psp) — Liquidación interna cuando el pagador y el beneficiario comparten tu ISPB
* [Webhooks](/es/midaz/plugins/pix/indirect/indirect-pix-webhooks) — Notificaciones de pago y estado
