← All webhook events

Subscribe to donor.merged

Two duplicate donor records are merged into one - either via the manual deduplication UI or by an automated merge.

When does donor.merged fire?

An admin runs the donor-merge action, or the BeneficiaryMergeService's auto-merge logic identifies duplicate PAN/phone+name combinations. Donations are transferred from the merged record to the kept record.

What developers build with it

  • Mirror the merge into your external CRM (delete or soft-delete the duplicate)
  • Update accounting attribution if donations moved between donor IDs
  • Re-anchor mailing-list subscriptions to the surviving donor
  • Audit-trail compliance for donor-data lineage

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 donor.merged:

{
    "kept_donor_id": 482,
    "merged_donor_id": 491,
    "ngo_id": 7,
    "donations_transferred": 3,
    "merged_at": "2026-05-16T15:44:00+05:30",
    "merged_by_user_id": 12
}

Subscribe to this event

From your NGO dashboard, head to System · Webhooks · Add new. Paste your HTTPS endpoint, copy the signing secret, tick donor.merged 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'] !== 'donor.merged') {
    http_response_code(202); exit; // not for this handler
}

// $payload['data'] is the block documented above.
handleDonorMerged($payload['data'], $payload['id']);
http_response_code(200);

Build your first integration in 10 minutes.

Webhooks ship on Pro and above. Full API reference, signature verification and idempotency on the hub.

Read the full reference See pricing
Chat with us