| Header | Value |
|---|---|
Signature | HMAC-SHA256 of the raw JSON body, using your webhook_secret. |
repayment.succeeded| Header | Value |
|---|---|
Content-Type | application/json |
Event | repayment.succeeded |
Signature | HMAC-SHA256 of the body. |
| Field | Type | Description |
|---|---|---|
event | String | Always repayment.succeeded. |
timestamp | String | Event time in YYYY-MM-DD HH:MM:SS (UTC). |
data.loan_id | UUID | The loan this repayment applies to. |
data.reference_account_number | String | Your reference number for this loan. |
data.repayment_date | String | The business date this repayment covers, in YYYY-MM-DD. |
data.amount | Number | Amount deducted, in IDR. |
data.remaining_balance | Number | Remaining outstanding loan balance after this deduction, in IDR. |
{
"event": "repayment.succeeded",
"timestamp": "2026-05-11 23:00:00",
"data": {
"loan_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"reference_account_number": "LND-ACC-2026-0001",
"repayment_date": "2026-05-11",
"amount": 15000.0,
"remaining_balance": 5685000.0
}
}repayment.failed| Header | Value |
|---|---|
Content-Type | application/json |
Event | repayment.failed |
Signature | HMAC-SHA256 of the body. |
| Field | Type | Description |
|---|---|---|
event | String | Always repayment.failed. |
timestamp | String | Event time in YYYY-MM-DD HH:MM:SS (UTC). |
data.loan_id | UUID | The loan this repayment was attempted for. |
data.reference_account_number | String | Your reference number for this loan. |
data.repayment_date | String | The business date this repayment was attempted, in YYYY-MM-DD. |
data.amount | Number | Amount that was attempted, in IDR. |
data.failure_reason | String | Human-readable reason for the failure. |
{
"event": "repayment.failed",
"timestamp": "2026-05-11 23:05:00",
"data": {
"loan_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"reference_account_number": "LND-ACC-2026-0001",
"repayment_date": "2026-05-11",
"amount": 15000.0,
"failure_reason": "Insufficient wallet balance"
}
}