---
title: "Register repayment"
method: POST
path: "/v2/loans/{loanId}/repayment"
tags: ["Repayments"]
---

# Register repayment

`POST /v2/loans/{loanId}/repayment`

## Request

- Base URL: `https://sandbox.pismolabs.io/lending`
- URL: `https://sandbox.pismolabs.io/lending/v2/loans/{loanId}/repayment`
- Auth: HTTP bearer

Registers a repayment for the specified loan ID.

## Path parameters

- `loanId` string, uuid, required

## Headers

- `Idempotency-Key` string, uuid, required

## Request body

- RepayV2
  - `repayment_id` string, uuid, required: Repayment ID
  - `metadata` RepaymentMetadata: Additional repayment information **Note**: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to [Get started with Pismo APIs](ref:get-started-with-pismo-apis).
  - `reference_date` string, date: Reference date of the installment. Format = YYYY-MM-DD.
  - `repayment_amount` number, double: Repayment amount
  - `repayment_date` string, date: Repayment date. Format = YYYY-MM-DD. When earlier than the date the payment is processed, it is treated as a backdated payment: the product must have `backdating_enabled`, the date must be within `max_backdating_window_days`, and a `backdating_reason` is required. On success the arrears penalty charged for the days after this date is given back.
  - `backdating_reason` 'RAIL_DELAY' | 'SYSTEM_ERROR' | 'OPS_CORRECTION' | 'RETRY_WINDOW' | 'REINSTATEMENT' | 'MISAPPLIED_PAYMENT_CORRECTION' | 'OTHER': Reason a payment is being backdated. Required only when `repayment_date` is a genuine backdate (earlier than the processing date). Case-insensitive. An invalid value returns `ELND2304`. The reason is a governance/audit label, not a verified fact — pick the value that best matches the situation, and use `OTHER` when none fits. - `RAIL_DELAY`: Payment was made on time, but the payment rail or bank file reporting it reached Pismo later. - `SYSTEM_ERROR`: A technical failure or outage delayed recording a payment that was actually made earlier. - `OPS_CORRECTION`: An operations team is correcting the recorded date of a payment (back-office correction). - `RETRY_WINDOW`: Payment was originally initiated within the expected timeframe but was temporarily unsuccessful (e.g., transient bank, network, or processing failure) and subsequently reprocessed. The payment is backdated to reflect the original intended payment date. - `REINSTATEMENT`: A previously reversed, cancelled, returned, or otherwise invalidated payment is being reinstated and recorded using its original effective payment date to restore the loan to the correct historical state. - `MISAPPLIED_PAYMENT_CORRECTION`: A payment applied to the wrong loan or installment is being corrected and re-applied using its true effective payment date. - `OTHER`: Generic catch-all for a legitimate backdating reason not covered by the specific values above.

## Response `202`

Repayment registered successfully.

- RepayV2Result
  - `authorization_id` number: Authorization ID
  - `installment_amount` InstallmentAmount: Installment amount
    - `max` integer: Maximum value
    - `min` integer: Minimum value
  - `minimum_total_payment_delta` number, double: Additional amount added to the repayment to cover the minimum total payment requirement
  - `repaid_amount` number, double: Repaid amount

## Other responses

- `400`: A validation error occurred.
- `500`: Internal Server Error

---

[API](https://skmtc.dev/pismo/apis/lending.md) - [All operations](https://skmtc.dev/pismo/apis/lending/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/lending/revisions/a288022e3d8b?raw)
