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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| contractNumber | Contract number. | ||
| lenderReferenceId | Conditional | Stable application or loan identifier generated by the lender. See Loan Identification. | |
| repaymentType | Conditional | NORMAL, EARLY_SETTLEMENT, or PARTIAL. | |
| repaymentTransactions | List of repayment allocation transactions. See Data of repaymentTransactions. |
Data of repaymentTransactions
| Attribute | Type | Required | Description |
|---|---|---|---|
| lenderTransactionCode | Transaction code from the corresponding Payment Receipt Notification. | ||
| bankTransactionSequenceId | Conditional | Sequence ID assigned by the lender bank. Links this allocation to the Payment Receipt event. | |
| allocationDatetime | Datetime when the allocation was performed. Format: yyyy-MM-ddTHH:mm:ss+0700. | ||
| installmentId | Conditional | Installment ID generated by the lender. | |
| installmentNumber | Installment sequence number. Sufficient to identify the installment. | ||
| allocatedPrincipal | Conditional | Principal amount allocated in VND. | |
| allocatedServiceFee | Conditional | User Service Fee allocated in VND. | |
| allocatedPenalty | Conditional | Late Payment Fee allocated in VND. | |
| allocatedTotal | Total 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.