Webhooks

Webhooks have quickly become the most desired method of integrations due to their instantaneous and adaptable nature.

GiveSmart Fundraise will, on any forms assigned, POST all fields related to the form to the secure endpoint of your choosing in the familiar and preferred JSON format. This includes all standard fields as well as custom fields.

Some key features of this process include:

  • Recurring donations are triggered to the same endpoint as they occur.
  • The webhook will re-attempt if the endpoint cannot be reached, allowing for brief system outages of the endpoint destination.
  • The GiveSmart Fundraise Transaction ID can be used as a unique identifier to each transaction. 

You can set the endpoint on a GiveSmart Fundraise form, by entering the Callback URL at the bottom of the Embed Code section, when designing your form:

Callback URL

Below is a sample payload delivered to the endpoint, including the standard/default fields of a payment form:

{
  "Shortcode": "41444",
  "Keyword": "webhookexample",
  "Type": "Fundraising",
  "Volunteer Fundraiser": null,
  "Team": "",
  "Alternative Team ID": "",
  "Transaction Date": "10/08/2019 14:24",
  "Donation date": "10/08/2019 14:20",
  "IP Address": "66.51.148.99",
  "Collected Amount": "$1.00",
  "Pledged amount": "$1.00",
  "Processing Fee": null,
  "Fee Rate": null,
  "Discount": "$0.00",
  "Cc type": "Visa",
  "last_4": "9569",
  "Cc Expiration": "11/23",
  "Phone": "15554514378",
  "First name": "First",
  "Last name": "Last",
  "Street address": "27001 Agoura Rd",
  "City": "Calabasas",
  "State": "CA",
  "Zip": "91301",
  "Country": "US",
  "Email": "example@example.com",
  "Gender": null,
  "Billing status": "submitted_for_settlement",
  "Billing type": "sale",
  "Donation": 63739082,
  "Transaction ID": 4680840,
  "Reference Transaction ID": null,
  "Source": "Paid via Mobile Web (Pledging)",
  "Form": "Online Form (Donation)",
  "Form Payment Type": "payment",
  "Form Name": "Online Form",
  "Form Type": "donation",
  "Form ID": 119428,
  "Fulfillment Calls": 0,
  "Fulfillment Texts": 0,
  "Memo": "",
  "Account": "Webhook Example",
  "Account ID": 10479,
  "Campaign name": "Webhook",
  "Account Plan": "Advanced",
  "Account Plan Price": "$399.00",
  "Frequency": "One Time",
  "Recurring Limit": null,
  "Anonymous": "No",
  "Billing transaction": "f1j2b8m5",
  "Billing transaction reference": "00502D",
  "Billing response code": "1000",
  "Payment Token": ""
}

Other fields will appear as expected, and dropdown selections will return both the visible label and the value as follows:

"Dropdown": "value one",
"Dropdown (Label)": "option one"

In this instance the field was named “dropdown” in all lower-case, but returns in capitalized.

You can begin to test/experiment yourself using the following tool, which provides an endpoint to place on a form: https://webhook.site/