Ir para o conteúdo

7.3. Liquidar Parcela

Especificação — em construção

Os serviços descritos nesta área ainda não estão disponíveis.

🔗 Endpoint

Método URL
PATCH /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.

Sempre disponível, independente da forma de cobrança

Diferente da geração de cobrança, 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

🔹 Headers

Use Idempotency-Key. Sem ela, um retry pode registrar o pagamento duas vezes.


📤 Requisição

{
  "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.


🧪 Exemplo de cURL

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

{
  "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

{
  "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

{
  "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.


🧭 Fluxo de conciliação


⚠️ 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 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.