When does csr.tranche.released fire?
A tranche clears its release gate (accepted report, satisfied requirements) and the payment is recorded against the project's budget.
What developers build with it
- Reconcile against your bank statement / payment batch export
- Update CSR spend-vs-obligation dashboards
- Notify the partner NGO their tranche has been released
- Feed the CSR-2 preparation pack with real spend data
Sample payload
The full envelope (with HMAC-SHA256 signature, delivery UUID and headers) is documented on the webhooks hub page. Below is the per-event data block for csr.tranche.released:
{
"tranche_id": 31,
"project_id": 12,
"project_title": "Clean Water for Coastal Villages",
"sequence": 2,
"amount": 150000,
"expense_id": 208,
"reference": "UTR2026071012345",
"released_at": "2026-07-10T12:00:00+05:30"
}
Subscribe to this event
From your NGO dashboard, head to System · Webhooks · Add new. Paste your HTTPS endpoint, copy the signing secret, tick csr.tranche.released in the events list, save. The first matching event fires within seconds. Verify the X-Donateazy-Signature header on every request.
// PHP example - drop into your webhook receiver
$raw = file_get_contents('php://input');
$expected = 'sha256=' . hash_hmac('sha256', $raw, $WEBHOOK_SECRET);
if (! hash_equals($expected, $_SERVER['HTTP_X_DONATEAZY_SIGNATURE'] ?? '')) {
http_response_code(401); exit;
}
$payload = json_decode($raw, true);
if ($payload['event'] !== 'csr.tranche.released') {
http_response_code(202); exit; // not for this handler
}
// $payload['data'] is the block documented above.
handleCsrTrancheReleased($payload['data'], $payload['id']);
http_response_code(200);
All 27 webhook events
donation.created
donation.paid
donation.refunded
donor.created
donor.updated
donor.merged
receipt.generated
campaign.created
campaign.completed
grant.created
grant.disbursement
payment_link.used
service_order.created
service_order.assigned
service_order.in_progress
service_order.awaiting_govt
service_order.delivered
service_order.completed
service_order.cancelled
service_order.refunded
csr.report.accepted
csr.application.submitted
csr.application.decided
csr.tranche.released
csr.project.status_changed
csr.task.completed
csr.batch.settled