When does donation.paid fire?
Razorpay / Cashfree / PayU / UPI confirms successful capture. Includes gateway_payment_id so you can audit against the gateway dashboard later.
What developers build with it
- Credit accounting ledger / Tally / Zoho Books
- Trigger thank-you email / WhatsApp / SMS workflows
- Notify program managers of designated-fund donations
- Update donor lifetime-value in your CRM
- Real-time campaign goal-progress signals
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 donation.paid:
{
"donation_id": 12345,
"ngo_id": 7,
"donor": {
"id": 482,
"name": "Vandana Kapoor",
"email": "vandana@example.com"
},
"amount": 5000,
"currency": "INR",
"payment_method": "upi",
"gateway": "razorpay",
"gateway_payment_id": "pay_NXxYzAbCd1234",
"paid_at": "2026-05-15T10:23:46+05:30",
"status": "paid"
}
Subscribe to this event
From your NGO dashboard, head to System · Webhooks · Add new. Paste your HTTPS endpoint, copy the signing secret, tick donation.paid 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 = 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'] !== 'donation.paid') {
http_response_code(202); exit; // not for this handler
}
// $payload['data'] is the block documented above.
handleDonationPaid($payload['data'], $payload['id']);
http_response_code(200);
Often paired with
donation.created
A donor initiates a donation - UPI, card or net-banking. Fires BEFORE payment confirmation, so a paired donation.paid listener is required to credit your ledger.
receipt.generated
An 80G tax receipt is generated and the PDF is ready to download. Fires AFTER donation.paid for the same donation.