Skip to content

Donation Events

Events published during the donation payment lifecycle — initiation, completion, and failure.

donation.initiated

Published when a donor starts a payment.

FieldTypeDescription
donationIdstringUUID of the donation
campaignIdstringTarget campaign UUID
donorIdstring?UUID of authenticated donor (null for guest)
amountnumberDonation amount
currencystringCurrency 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.

FieldTypeDescription
donationIdstringUUID of the donation
campaignIdstringTarget campaign UUID
donorIdstring?UUID of donor
amountnumberDonation amount
paymentIntentIdstringStripe PaymentIntent ID

donation.failed

Published when payment processing fails.

FieldTypeDescription
donationIdstringUUID of the donation
campaignIdstringTarget campaign UUID
reasonstringFailure reason (e.g., insufficient_funds)

Built with VitePress