Skip to main content
POST
Customers can use this endpoint to record a partial repayment for their loan. This is typically used after making a bank transfer to the repayment account.
Before making a repayment, customers should:
  1. Get repayment instructions using GET /repayment-instructions/{loan-application-id}
  2. Make a bank transfer to the provided account with the repayment reference
  3. Record the repayment using this endpoint
Some loans use third-party collection services. Manual repayments via this API may not be allowed for such loans. The system will return an error if manual repayment is not permitted.

Request Headers

string
required
The JWT Access Token obtained from the /login or /refresh-token endpoint.
string
required
Unique idempotency key for the request to prevent duplicate processing.
string
required
The date and time at which the request was initiated (ISO 8601 format).
string
required
The IP address of the customer making the request.
string
required
Unique identifier for the interaction/session.
string
default:"application/json"
required
Must be application/json.

Path Parameters

string
required
The unique identifier (UUID) of the user making the repayment. This must match the authenticated user.

Request Body

number
required
The amount to be repaid. Must be greater than zero and cannot exceed the total payable amount.
string
required
The unique identifier (UUID) of the customer making the repayment. Must match the authenticated user.
string
required
The unique identifier (UUID) of the loan account being repaid.
string
required
The unique identifier (UUID) of the bank account from which the payment was made. This must be a bank account that belongs to the customer.
string
The payment reference number from the bank transfer. This should match the reference provided in the repayment instructions.
string
The date when the payment was made (ISO 8601 format). If not provided, the current date is used.
string
Optional description or narration for the payment.

Response

Returns confirmation of the repayment submission with details.
string
default:"SUCCESS"
Overall status of the API request.
object
Repayment confirmation details.

Code Examples

Error Responses

string
default:"FAILED"
Status will be FAILED if an error occurs.
string
Error message describing what went wrong.

Common Error Scenarios

  • Loan Not Found: No active loan found for the provided customer ID
  • Loan Closed: The loan is already closed and cannot be repaid
  • Unauthorized: The customer ID does not match the authenticated user
  • Manual Repayment Not Allowed: The loan uses third-party collection and manual repayments are not permitted
  • Invalid Amount: Repayment amount is zero, negative, or exceeds total payable
  • Bank Account Mismatch: The bank account does not belong to the customer
  • Missing Loan Application: Loan application ID is missing for the customer loan record

Repayment Flow

See the complete repayment flow documentation