> ## 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.

# Cobranças

> Crie cobranças Pix pelo Plugin Pix Indireto (BTG): COB imediata, COBV com vencimento, estados do ciclo de vida, vínculo com o pagamento e webhooks.

Uma **cobrança** (collection) é uma cobrança Pix dinâmica e de uso único que pede um pagamento específico. O Plugin Pix Indireto (BTG) aceita dois tipos. Os dois tipos usam um QR Code dinâmico:

* **Imediata (COB)** (`cobrança imediata`): uma cobrança de curta duração com valor fixo. Use para checkout e pagamentos únicos.
* **Com vencimento (COBV)** (`cobrança com vencimento`): uma cobrança parecida com um boleto, com vencimento e, opcionalmente, multa, juros, desconto e abatimento. Use para contas, parcelas e faturamento B2B.

Este guia cobre o ciclo de vida da cobrança e o fluxo de pagamento. Para detalhes de geração de QR Code e a validação campo a campo, veja o [guia de QR Codes](https://docs.lerian.studio/pt/interfaces/pix-btg/indirect-pix-qrcodes.md).

# Ciclo de vida

***

Cada tipo de cobrança informa o status com os próprios valores:

| Status | Tipo | Significado |
| - | - | - |
| `ACTIVE` | COB + COBV | Criada e disponível para pagamento |
| `COMPLETED` | COB + COBV | Pagamento recebido. A cobrança está liquidada |
| `DELETED` | COB | Excluída pelo lojista (`DELETE`) |

Uma cobrança passa de **`ACTIVE`** para **`COMPLETED`** quando o pagador a paga. Uma cobrança imediata passa para **`DELETED`** quando o lojista a exclui. Cada tipo tem a própria janela de validade:

* **Imediata (COB):** a cobrança vale por `expirationSeconds` depois da criação.
* **Com vencimento (COBV):** a cobrança continua pagável até `dueDate` mais `validAfterDue` dias.

Depois que uma cobrança chega a `COMPLETED`, o plugin nega qualquer novo pagamento a ela. O plugin também rejeita qualquer tentativa de excluir ou atualizar uma cobrança `COMPLETED` (`PIX-0704`).

# Campos principais

***

| Campo | Obrigatório em | Observações |
| - | - | - |
| `txId` | COB + COBV | Único por recebedor; usado para vincular o pagamento recebido |
| `amount` | COB + COBV | Decimal com 2 casas, maior que 0 |
| `receiverKey` | COB + COBV | Chave Pix que recebe o pagamento; deve pertencer à conta |
| `expirationSeconds` | Apenas COB | Janela de validade das cobranças imediatas |
| `dueDate` / `validAfterDue` | Apenas COBV | Vencimento e carência após o vencimento |
| `debtor` | COBV (opcional em COB) | Nome + CPF/CNPJ do pagador esperado |
| `amount.fine` / `interest` / `discount` / `abatement` | Apenas COBV (opcional) | Regras de cobrança exclusivas do COBV |

No COBV, o valor final depende do momento do pagamento. O pagamento antecipado aplica descontos. O pagamento em dia usa o valor original. O pagamento em atraso soma multa e juros, menos qualquer abatimento.

# Criar, consultar, atualizar, excluir

***

| Ação | Imediata (COB) | Com vencimento (COBV) |
| - | - | - |
| Criar | `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}` |
| Atualizar | `PUT /v1/collections/immediate/{id}` | `PATCH /v1/collections/duedate/{id}` |
| Excluir | `DELETE /v1/collections/immediate/{id}` | — |

Todas as requisições exigem o header `X-Account-Id`. Uma exclusão também exige `X-Reason` (`DELETED_BY_USER` ou `DELETED_BY_PSP`). Você pode atualizar ou excluir uma cobrança apenas enquanto ela está `ACTIVE`. Uma cobrança com vencimento mantém o valor original: no `PATCH`, `amount.original` é opcional, e quando você o envia, deve repetir o valor atual. Qualquer outro valor responde `400` `PIX-0004`.

# Fluxo de pagamento

***

O pagador liquida uma cobrança com um **Pix recebido (cash-in)** que carrega o `txId` da cobrança:

1. O lojista cria uma cobrança e apresenta o QR Code dela (ou o `txId`) ao pagador.
2. O pagador liquida a cobrança. O BTG notifica o plugin sobre o cash-in recebido.
3. O plugin vincula o cash-in à cobrança comparando o `txId` do pagamento com o `txId` da cobrança e com o documento do recebedor. A cobrança deve estar `ACTIVE`. Em uma cobrança imediata, o valor também deve corresponder. Caso contrário, o plugin nega o pagamento.
4. O plugin lança o cash-in no Midaz como uma transação no ledger e depois passa a cobrança para `COMPLETED`.
5. O plugin emite o webhook de cash-in para notificar seu sistema.

> [!NOTE]
>
> Quando você define um `debtor` na cobrança, ela registra o CPF/CNPJ do pagador esperado. O plugin não bloqueia um pagador diferente na liquidação.

# Evento de webhook no pagamento

***

Depois que um pagamento liquida uma cobrança, o plugin enfileira um **webhook de saída**: o evento `TRANSFER` / `CASHIN` do pagamento. O worker de webhooks de saída o entrega de forma assíncrona. Configure o destino pelas URLs de webhook de cash-in (`WEBHOOK_TRANSFER_CASHIN_URL`, depois `WEBHOOK_TRANSFER_URL`, com `WEBHOOK_DEFAULT_URL` como fallback). Para tipos de evento, payloads, novas tentativas e resolução de URL, veja o [guia de Webhooks](https://docs.lerian.studio/pt/interfaces/pix-btg/indirect-pix-webhooks.md).

# Casos de erro

***

| Caso | Comportamento |
| - | - |
| **Não pagável** | O plugin nega um pagamento de QR Code dinâmico cujo `txId` não corresponde a nenhuma cobrança `ACTIVE` do recebedor |
| **Valor divergente** | Em uma cobrança imediata, o plugin nega um pagamento cujo valor difere do da cobrança |
| **`txId` duplicado** | A criação falha com `409`. Um `txId` deve ser único por recebedor (`PIX-0701`) |
| **Atualização/exclusão após a conclusão** | O plugin rejeita a requisição (`PIX-0704`). Uma cobrança `COMPLETED` é imutável |

# Referência

***

**Imediata (COB):** [Criar](https://docs.lerian.studio/pt/reference/interfaces/pix-btg/create-an-immediate-charge.md) · [Listar](https://docs.lerian.studio/pt/reference/interfaces/pix-btg/list-immediate-charges.md) · [Consultar](https://docs.lerian.studio/pt/reference/interfaces/pix-btg/retrieve-immediate-charge-details.md) · [Atualizar](https://docs.lerian.studio/pt/reference/interfaces/pix-btg/update-an-immediate-charge.md) · [Excluir](https://docs.lerian.studio/pt/reference/interfaces/pix-btg/delete-an-immediate-charge.md)

**Com vencimento (COBV):** [Criar](https://docs.lerian.studio/pt/reference/interfaces/pix-btg/create-a-dynamic-charge-with-due-date.md) · [Listar](https://docs.lerian.studio/pt/reference/interfaces/pix-btg/list-dynamic-charges-with-due-date.md) · [Consultar](https://docs.lerian.studio/pt/reference/interfaces/pix-btg/retrieve-dynamic-charge-with-due-date-details.md) · [Atualizar](https://docs.lerian.studio/pt/reference/interfaces/pix-btg/update-a-dynamic-charge-with-due-date.md)

# Próximos passos

***

* [QR Codes](https://docs.lerian.studio/pt/interfaces/pix-btg/indirect-pix-qrcodes.md): tipos de QR Code e o decodificador
* [Transferências intra-PSP](https://docs.lerian.studio/pt/interfaces/pix-btg/indirect-pix-intra-psp.md): liquidação interna quando pagador e recebedor compartilham o seu ISPB
* [Webhooks](https://docs.lerian.studio/pt/interfaces/pix-btg/indirect-pix-webhooks.md): notificações de pagamento e de status


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.