Skip to main content

Repayment Allocation Notification

Use Case

Use this webhook when the lender needs to notify Fundiin of debt allocation after the lender has processed a payment. This endpoint supports batch allocation, so multiple installments can be updated in one request.

After this webhook, the lender should also send an Installment Schedule Notification to refresh the full loan state.

Integration: STANDARD only

Request

POST /lender/open/notify/repayment-allocation

See Lender Notification API Overview for base URL, request headers, HMAC signature, common request fields, idempotency, and response format.

Request Body

The request body includes the Common Request Fields plus the fields below.

ParameterTypeRequiredDescription
contractNumberStringContract number.
lenderReferenceIdStringConditionalStable application or loan identifier generated by the lender. See Loan Identification.
repaymentTypeStringConditionalNORMAL, EARLY_SETTLEMENT, or PARTIAL.
repaymentTransactionsJsonArrayList of repayment allocation transactions. See Data of repaymentTransactions.

Data of repaymentTransactions

AttributeTypeRequiredDescription
lenderTransactionCodeStringTransaction code from the corresponding Payment Receipt Notification.
bankTransactionSequenceIdStringConditionalSequence ID assigned by the lender bank. Links this allocation to the Payment Receipt event.
allocationDatetimeTimestampDatetime when the allocation was performed. Format: yyyy-MM-ddTHH:mm:ss+0700.
installmentIdStringConditionalInstallment ID generated by the lender.
installmentNumberNumberInstallment sequence number. Sufficient to identify the installment.
allocatedPrincipalNumberConditionalPrincipal amount allocated in VND.
allocatedServiceFeeNumberConditionalUser Service Fee allocated in VND.
allocatedPenaltyNumberConditionalLate Payment Fee allocated in VND.
allocatedTotalNumberTotal amount allocated: allocatedPrincipal + allocatedServiceFee + allocatedPenalty.

Example Requests

Simple required fields only

{
"requestId": "WH_REQ_202507150002",
"fundiinApplicationId": "APP1234567890",
"lenderCode": "LENDER_A",
"requestingDatetime": "2025-07-15T09:10:00+0700",
"contractNumber": "CNTR20250530001",
"repaymentTransactions": [
{
"lenderTransactionCode": "LENDER_TXN_123456789",
"allocationDatetime": "2025-07-15T09:08:00+0700",
"installmentNumber": 1,
"allocatedTotal": 1054000
}
]
}

Full request with breakdown and bank reference

{
"requestId": "WH_REQ_202507150002",
"fundiinApplicationId": "APP1234567890",
"lenderCode": "LENDER_A",
"requestingDatetime": "2025-07-15T09:10:00+0700",
"contractNumber": "CNTR20250530001",
"lenderReferenceId": "LN20250530001",
"repaymentType": "NORMAL",
"repaymentTransactions": [
{
"lenderTransactionCode": "LENDER_TXN_123456789",
"bankTransactionSequenceId": "BANK_SEQ_202507150001",
"allocationDatetime": "2025-07-15T09:08:00+0700",
"installmentId": "INS_001",
"installmentNumber": 1,
"allocatedPrincipal": 916000,
"allocatedServiceFee": 138000,
"allocatedPenalty": 0,
"allocatedTotal": 1054000
}
]
}

Early settlement with two installments

{
"requestId": "WH_REQ_202508010001",
"fundiinApplicationId": "APP1234567890",
"lenderCode": "LENDER_A",
"requestingDatetime": "2025-08-01T10:00:00+0700",
"contractNumber": "CNTR20250530001",
"lenderReferenceId": "LN20250530001",
"repaymentType": "EARLY_SETTLEMENT",
"repaymentTransactions": [
{
"lenderTransactionCode": "LENDER_TXN_987654321",
"bankTransactionSequenceId": "BANK_SEQ_202508010001",
"allocationDatetime": "2025-08-01T09:55:00+0700",
"installmentId": "INS_002",
"installmentNumber": 2,
"allocatedPrincipal": 916000,
"allocatedServiceFee": 138000,
"allocatedPenalty": 0,
"allocatedTotal": 1054000
},
{
"lenderTransactionCode": "LENDER_TXN_987654321",
"bankTransactionSequenceId": "BANK_SEQ_202508010001",
"allocationDatetime": "2025-08-01T09:55:00+0700",
"installmentId": "INS_003",
"installmentNumber": 3,
"allocatedPrincipal": 916000,
"allocatedServiceFee": 138000,
"allocatedPenalty": 0,
"allocatedTotal": 1054000
}
]
}

Response

See Common Response.