Repayments

Register repayment

Registers a repayment for the specified loan ID.

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

Path parameters

loanIdstring uuid required

ID of the loan the operation applies to

Headers

Idempotency-Keystring uuid required

Required UUID that makes the request idempotent, enabling you to retry it multiple times while the system processes it only once.

Request body

repayment_idstring uuid required

Repayment ID

metadataRepaymentMetadata

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.

reference_datestring date

Reference date of the installment. Format = YYYY-MM-DD.

repayment_amountnumber double

Repayment amount

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

Example request

{
  "repayment_id": "5c075cc6-8dc2-4fe6-9ed7-cf5687d4e834",
  "reference_date": "2025-04-14",
  "repayment_amount": 100,
  "repayment_date": "2022-06-30",
  "backdating_reason": "RAIL_DELAY"
}

Response

Repayment registered successfully.

authorization_idnumber

Authorization ID

minimum_total_payment_deltanumber double

Additional amount added to the repayment to cover the minimum total payment requirement

repaid_amountnumber double

Repaid amount

Example response

{
  "authorization_id": 123456789,
  "installment_amount": {
    "max": 100,
    "min": 10
  },
  "minimum_total_payment_delta": 43.46,
  "repaid_amount": 100
}

Changes

No recorded changes to this operation across all 1 revision of this API.