Donation Events
Events published during the donation payment lifecycle — initiation, completion, and failure.
donation.initiated
Published when a donor starts a payment.
| Field | Type | Description |
|---|---|---|
donationId | string | UUID of the donation |
campaignId | string | Target campaign UUID |
donorId | string? | UUID of authenticated donor (null for guest) |
amount | number | Donation amount |
currency | string | Currency code (e.g., USD) |
json
{
"type": "donation.initiated",
"version": "1.0.0",
"payload": {
"aggregateId": "don-1234-...",
"donationId": "don-1234-...",
"campaignId": "f1e2d3c4-...",
"donorId": "a1b2c3d4-...",
"amount": 50.00,
"currency": "USD"
}
}donation.completed
Published when payment is confirmed by Stripe.
| Field | Type | Description |
|---|---|---|
donationId | string | UUID of the donation |
campaignId | string | Target campaign UUID |
donorId | string? | UUID of donor |
amount | number | Donation amount |
paymentIntentId | string | Stripe PaymentIntent ID |
donation.failed
Published when payment processing fails.
| Field | Type | Description |
|---|---|---|
donationId | string | UUID of the donation |
campaignId | string | Target campaign UUID |
reason | string | Failure reason (e.g., insufficient_funds) |