Webhooks
Technical
The information on this page goes into technical detail, we recommend that you consult with your third party system integrator or support team for assistance.
Giant is not able to provide support for third party software, systems and webhook consumers.
Events
A webhook is sent to configured endpoints when a particular event occurs. The following types of events can trigger webhooks:
Payment
payment.pending
A payment has been created, but no money has yet been transferred anywhere.
payment.complete
A payment has been completed. Money has been transferred from the donor to the payment processor.
payment.failed
A payment was attempted, but it failed for some reason.
payment.refunded
A payment has been refunded, the receiving organisation no longer has access to the funds.
The Payment webhook payloads contain the following data:
|
Adding an endpoint
Warning
For security reasons, we will only send webhook events to endpoints over an encrypted connection (HTTPS).
- Log into your Giant Giving Dashboard and select "Webhooks" from the left menu.
- Press "Create".
- Enter the full url, including https:// into the endpoint box.
- Select all of the events that you wish to receive webhooks for.
- Press "Create".
You will be returned to the webhook listing page where you should see your new webhook configuration.
Tip
Take a note of the "token" as you will need this to verify that events you receive to your webhook endpoint were really created by Giant Giving.
Accepting incoming webhooks
Giant Giving will POST event webhooks to the configured HTTP endpoints. We use HMAC to allow you to verify that our system did indeed send the event, and that it has not been tampered with during transit.
The HMAC signature is provided in the HTTP_AUTHORIZATION header sent with every webhook request. Since every
programming language has a different way to deal with HMACs, we cannot give specific guidance here, but we do provide an
example for Python (note that this isn't complete code, you would need to get the signature from the HTTP header and add
some more error handling)
You should respond to the incoming webhook with a 200 HTTP status code (no body is required) so that Giant Giving
knows you received and acknowledged the webhook. If you do not send a 200 status code, Giant Giving will assume that
it has failed and will retry again each day, up to a maximum of 7 days.