curl --location 'https://api.opensylo.com/webhooks/outbound/loan.completed' \
--header 'X-OpenSylo-Signature: sha256=f1e2d3c4b5a6f7e8d9c0b1a2f3e4d5c6b7a8f9e0d1c2b3a4f5e6d7c8b9a0f1e2' \
--header 'X-OpenSylo-Timestamp: 1712495400' \
--header 'X-OpenSylo-Event-Id: evt_oa_20260407_001' \
--header 'Content-Type: application/json' \
--data '{
"event": "loan.completed",
"event_id": "evt_oc_20260407_005",
"timestamp": "2026-04-07T18:00:00.000Z",
"loan": {
"id": "loan_f1e2d3c4-b5a6-7890-1234-567890abcdef",
"reference": "OSL-2026-00142",
"status": "completed"
},
"merchant": {
"opensylo_id": "mch_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"marketplace_id": "PLT_MERCH_001"
},
"summary": {
"principal_repaid": 1500000,
"interest_repaid": 225000,
"total_repaid": 1725000,
"total_deductions": 48,
"first_deduction_at": "2026-04-10T08:30:00.000Z",
"final_deduction_at": "2026-04-07T17:45:00.000Z",
"completed_at": "2026-04-07T18:00:00.000Z"
},
"action_required": "stop_deductions",
"message": "Loan OSL-2026-00142 is fully repaid. Stop all deductions for this loan."
}'