Payment Receipt Notification
Use Case
Use this webhook when the lender needs to notify Fundiin that a payment from the customer has been received successfully into the lender account. This webhook captures receipt only; it does not mean the amount has been allocated to debt.
Use Repayment Allocation Notification when the lender confirms how the received amount was allocated to installments. Send one payment transaction per request.
Integration: STANDARD only
Request
POST /lender/open/notify/payment-receipt
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. Required if available at time of receipt. See Loan Identification. | |
| lenderTransactionCode | Unique transaction code generated by the lender. Used as the idempotency key for this payment event. | ||
| bankTransactionSequenceId | Conditional | Sequence ID assigned by the lender bank. Links this event to the corresponding Repayment Allocation notification. | |
| receivedAmount | Amount received in VND. | ||
| receivedDatetime | Datetime the payment was received into the lender account. Format: yyyy-MM-ddTHH:mm:ss+0700. | ||
| receivedStatus | SUCCESS or REVERSED. | ||
| reversalReason | Conditional | Required when receivedStatus = REVERSED. |
Example Requests
Simple required fields only
{
"requestId": "WH_REQ_202507150001",
"fundiinApplicationId": "APP1234567890",
"lenderCode": "LENDER_A",
"requestingDatetime": "2025-07-15T09:05:00+0700",
"contractNumber": "CNTR20250530001",
"lenderTransactionCode": "LENDER_TXN_123456789",
"receivedAmount": 1054000,
"receivedDatetime": "2025-07-15T09:00:00+0700",
"receivedStatus": "SUCCESS"
}
Full request with conditional fields
{
"requestId": "WH_REQ_202507150001",
"fundiinApplicationId": "APP1234567890",
"lenderCode": "LENDER_A",
"requestingDatetime": "2025-07-15T09:05:00+0700",
"contractNumber": "CNTR20250530001",
"lenderReferenceId": "LN20250530001",
"lenderTransactionCode": "LENDER_TXN_123456789",
"bankTransactionSequenceId": "BANK_SEQ_202507150001",
"receivedAmount": 1054000,
"receivedDatetime": "2025-07-15T09:00:00+0700",
"receivedStatus": "SUCCESS",
"reversalReason": null
}
Reversed receipt
{
"requestId": "WH_REQ_202507150005",
"fundiinApplicationId": "APP1234567890",
"lenderCode": "LENDER_A",
"requestingDatetime": "2025-07-15T11:00:00+0700",
"contractNumber": "CNTR20250530001",
"lenderReferenceId": "LN20250530001",
"lenderTransactionCode": "LENDER_TXN_123456789",
"bankTransactionSequenceId": "BANK_SEQ_202507150001",
"receivedAmount": 1054000,
"receivedDatetime": "2025-07-15T09:00:00+0700",
"receivedStatus": "REVERSED",
"reversalReason": "DUPLICATE_TRANSFER"
}
Response
See Common Response.