Webhooks
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.
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>
- The partner donation ID as specified using our
Donate link or Donate Button.
undefined
if not specified.
- The partner donation ID as specified using our
Donate link or Donate Button.
partnerMetadata: <Object | undefined>
- The partner metadata base64 unencoded and json parsed as specified using our
Donate link or Donate Button.
undefined
if not specified.
- The partner metadata base64 unencoded and json parsed as specified using our
Donate link or Donate Button.
firstName: <string | undefined>
undefined
if the donor chose not to share this info with the nonprofit.
lastName: <string | undefined | null>
undefined
if the donor chose not to share this info with the nonprofit.null
if the donor has no associated last name.
email: <string | null>
undefined
if the donor chose not to share this info with the nonprofit.null
if the donor has no associated email.
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>
- The slug that identifies the nonprofit. Every.org
uses the slug to construct the nonprofit's URL as follows:
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.
- The nonprofit's EIN.
name: <string>
- The nonprofit's displayable name.
- An object with the following properties:
amount: <string>
- Numerical amount in the unit defined by the ISO
currency
code, represented as a string.
- Numerical amount in the unit defined by the ISO
netAmount: <string>
- Net amount of the donation after subtracting third party fees.
currency: <string>
- Currency code as defined in ISO 4217
frequency: <"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>
- The slug that identifies the fundraiser. Every.org
uses the slug to construct the nonprofit's URL as follows:
- An object with the following properties:
paymentMethod: <string>
- The method used to make the payment.
Example request body:
{
"chargeId": "somerandomuuid",
"partnerDonationId": "somerandomuuid",
"firstName": "Jane",
"lastName": "Doe",
"email": "jane@emailprovider.org",
"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!"
}