---
title: 7.3. Liquidar Parcela
url: https://docs.vehub.com.br/Emiss%C3%A3o%20de%20Ativos/API/Cr%C3%A9dito/7.%20Contratos%20e%20Parcelas/7.3.%20Liquidar%20Parcela/
---
# 7.3. Liquidar Parcela
!!! warning "Especificação — em construção"
Os serviços descritos nesta área ainda não estão disponíveis.
## 🔗 Endpoint
| Método | URL |
|--------|-----|
|  | `/credito/contratos/{idContrato}/parcelas/{idParcela}` |
---
## 🧾 Descrição
Registra o **pagamento de uma parcela**. É o serviço que mantém a carteira correta quando a cobrança é
feita fora da plataforma.
!!! important "Sempre disponível, independente da forma de cobrança"
Diferente da [geração de cobrança](7.4.%20Cobrança.md), que depende do parâmetro
`cobrancaExterna` da esteira, a liquidação **está sempre disponível**. Não importa se o boleto foi
emitido pela plataforma, por você, ou se o cliente pagou por PIX, transferência ou em espécie: a
liquidação é como você informa que a parcela foi paga.
Isso é essencial porque **não há baixa automática por conciliação bancária**. Sem esta chamada, o
contrato nunca é liquidado.
### 🔹 Path Parameters
| Parâmetro | Tipo | Descrição |
|-----------|------|-----------|
| idContrato | integer | Identificador do contrato |
| idParcela | integer | Identificador da parcela, obtido em [7.2](7.2.%20Parcelas%20e%20Saldo.md) |
### 🔹 Headers
Use **`Idempotency-Key`**. Sem ela, um *retry* pode registrar o pagamento duas vezes.
---
## 📤 Requisição
```json
{
"dataPagamento": "2026-10-13",
"valorPagamento": 850.00,
"valorMulta": 0.00,
"valorMora": 0.00,
"valorDesconto": 0.00
}
```
### 🧾 Detalhamento dos Campos
| Campo | Tipo | Obrigatório | Descrição |
|-------|------|-------------|-----------|
| dataPagamento | string | Sim | Data em que o pagamento ocorreu (`YYYY-MM-DD`). Não pode ser futura |
| valorPagamento | number | Sim | Valor efetivamente recebido |
| valorMulta | number | Não | Multa cobrada por atraso. `0` quando não houver |
| valorMora | number | Não | Juros de mora cobrados. `0` quando não houver |
| valorDesconto | number | Não | Desconto concedido. `0` quando não houver |
> Para saber quanto cobrar numa data — com encargos ou desconto — consulte antes
> `POST /credito/contratos/{idContrato}/parcelas/valores` em
> [7.2. Parcelas e Saldo](7.2.%20Parcelas%20e%20Saldo.md).
---
## 🧪 Exemplo de cURL
```bash
curl -X PATCH "https://api.vehub.com.br/credito/contratos/5001/parcelas/8801" \
-H "Authorization: Bearer {seu_token}" \
-H "GrupoEconomico: {seu_grupo_economico}" \
-H "Idempotency-Key: f2a1c8d4-3e56-4b90-a7c2-118e5d0b6934" \
-H "Content-Type: application/json" \
-d '{
"dataPagamento": "2026-10-13",
"valorPagamento": 850.00
}'
```
---
## 📥 Responses
### ✅ 200 OK
```json
{
"sucesso": true,
"mensagem": "Parcela liquidada com sucesso.",
"dados": {
"idParcela": 8801,
"numero": 1,
"status": { "id": 2, "nome": "Paga" },
"dataPagamento": "2026-10-13",
"valorPagamento": 850.00,
"contratoLiquidado": false
}
}
```
| Campo | Tipo | Descrição |
|-------|------|-----------|
| status | object | Novo status da parcela |
| contratoLiquidado | boolean | `true` quando esta era a última parcela em aberto |
### ❌ 409 Conflict — parcela já liquidada
```json
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.10",
"status": 409,
"errors": [
{ "campo": null, "mensagem": "A parcela já está liquidada. Data do pagamento: 2026-10-13." }
]
}
```
### ❌ 400 Bad Request
```json
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"status": 400,
"errors": [
{ "campo": "dataPagamento", "mensagem": "Não pode ser uma data futura." },
{ "campo": "valorPagamento", "mensagem": "Deve ser maior que zero." }
]
}
```
---
## 🔔 Eventos disparados
| Evento | Quando |
|---|---|
| `credito.parcela.liquidada` | Sempre, ao liquidar a parcela |
| `credito.contrato.liquidado` | Adicionalmente, quando era a última parcela em aberto |
Ver [8.5. Eventos de Parcela](../8.%20Notificações%20-%20WebHook/8.5.%20Eventos%20de%20Parcela.md).
---
## 🧭 Fluxo de conciliação
```mermaid
flowchart TD
A[GET /credito/parcelas
filtrando o período] --> B[Conciliar com os
recebimentos da sua base]
B --> C{Parcela recebida?}
C -- Não --> D[Aguardar]
C -- Sim --> E[POST parcelas/valores
para conferir o valor na data]
E --> F[PATCH parcelas/id
informando o pagamento]
F --> G[Webhook
credito.parcela.liquidada]
```
---
## ⚠️ Observações
- A liquidação está **disponível a qualquer credencial pública**. É a operação que fecha a dívida —
trate o acesso a ela, no seu lado, com o mesmo cuidado que trataria uma baixa financeira.
- Liquidação **parcial não é suportada**: informar `valorPagamento` menor que o devido não deixa a
parcela parcialmente aberta. Se o cliente pagou menos, negocie e use
[7.4. Cobrança](7.4.%20Cobrança.md) com liquidação e desconto.
- Não há operação de **estorno** por API. Uma liquidação registrada por engano precisa ser corrigida
pelo time de operações na plataforma.