Skip to main content

Webhooks

Learn more

Don't know what a webhook is? Learn more from this What are webhooks? blog post.

Every.org supports using webhooks to get notified when one of your donors completes a donation. After you set up your webhook, we will make a POST request to your webhook endpoint with information about the new donation.

Every.org webhooks come in two flavors - the Nonprofit Donation Webhook and the Partner webhook.

Nonprofit Donation Webhook​

The Nonprofit Donation Webhook enables nonprofit admins to get notified every time a donation is made to their nonprofit.

Read more about setting up a Nonprofit Donation Webhook for your nonprofit here.

Partner Webhook​

The Partner Webhook enables developers using a Donate Link to get notified every time a donation is completed via their link.

Read more about setting up a Partner Webhook here.

Data format​

Requests made by both the Nonprofit Donation and Partner webhooks follow the same format, minus a few fields.

The webhook request will be a JSON-formatted string with the following properties:

  • chargeId: <string>
    • Unique ID to the donation. Matches the “Charge ID” of donations in the nonprofit Admin Dashboard.
  • partnerDonationId: <string | undefined>
  • designation: <string | undefined>
    • The program or project this donation is intended to support.
  • firstName: <string | undefined>
    • Included if the donor shared their info with the nonprofit or made the donation public.
    • "Anonymous" otherwise.
  • lastName: <string | undefined | null>
    • Included if the donor shared their info with the nonprofit or made the donation public.
    • "Donor" otherwise.
    • null if the donor has no associated last name.
  • email: <string | undefined | null>
    • undefined if the donor did not share their info with the nonprofit.
    • null if the donor has no associated email.
  • address: <object | undefined>
    • The address the donor entered when donating. Only included if the donor entered an address and shared their info with the nonprofit, either by choice or because the Donate link used require_share_info.
    • An object with the following properties, each of which may be missing:
      • streetAddress: <string | undefined>
      • city: <string | undefined>
      • state: <string | undefined>
      • postalCode: <string | undefined>
      • country: <string | undefined>
  • toNonprofit: <object>
    • An object with the following properties:
      • slug: <string>
        • The slug that identifies the nonprofit. Every.org uses the slug to construct the nonprofit's URL as follows: every.org/<slug>
      • ein: <string | undefined>
        • The nonprofit's EIN. undefined if the receiving organization does not have an EIN, as in the case where they are fiscally sponsored.
      • name: <string>
        • The nonprofit's displayable name.
  • amount: <string>
    • Numerical amount in the unit defined by the ISO currency code, represented as a string.
  • netAmount: <string>
    • Net amount of the donation after subtracting third party fees.
  • currency: <string>
  • frequency: <"Yearly"|"Monthly"|"One-time">
  • donationDate: <string Date>
    • Date that the donation was initiated
  • publicTestimony: <string | undefined>
    • A publicly available comment for this donation written by the donor showing at every.org that can be shared.
  • privateNote: <string | undefined>
    • A private note for the nonprofit written by the donor.
  • fromFundraiser: <object | undefined>
    • An object with the following properties:
      • id: <string>
        • The fundraiser's id.
      • title: <string>
        • The fundraiser's title.
      • slug: <string>
        • The slug that identifies the fundraiser. Every.org uses the slug to construct the nonprofit's URL as follows: every.org/<toNonprofit.slug>/f/<fromFundraiser.slug>
  • paymentMethod: <string>
    • The method used to make the payment.

Example request body:

{
"chargeId": "somerandomuuid",
"partnerDonationId": "somerandomuuid",
"firstName": "Jane",
"lastName": "Doe",
"email": "jane@emailprovider.org",
"address": {
"streetAddress": "123 Main St",
"city": "San Francisco",
"state": "California",
"postalCode": "94103",
"country": "US"
},
"toNonprofit": {
"slug": "givedirectly",
"ein": "271661997",
"name": "Give Directly"
},
"amount": "1000.00",
"netAmount": "970.07",
"currency": "USD",
"frequency": "Monthly",
"donationDate": "2022-02-03T05:00:16.175Z",
"publicTestimony": "I love animals",
"privateNote": "Thank you for the fantastic work!"
}