A webhook is a means of notifying your application of the occurrence of an event with some relevant information. Events are created each time a resource is created or updated in Dwolla. For example, when a Customer is created or a Funding Source is removed, a customer_created
and customer_funding_source_removed
event will be created, respectively. These events are what trigger HTTP webhook requests to your subscribed URL if you have an active webhook subscription. It is important to note that a single API request can trigger multiple webhooks to be fired, e.g. initiating a transfer from an Account to Customer can create the events transfer_created
and customer_transfer_created
.
Each webhook contains an Event with _links
to the following resources:
Example webhook payload:
{
"id": "80d8ff7d-7e5a-4975-ade8-9e97306d6c15",
"resourceId": "36E9DCB2-889B-4873-8E52-0C9404EA002A",
"topic": "customer_created",
"timestamp": "2015-10-22T14:44:11.407Z",
"_links": {
"self": {
"href": "https://api-sandbox.dwolla.com/events/80d8ff7d-7e5a-4975-ade8-9e97306d6c15"
},
"account": {
"href": "https://api-sandbox.dwolla.com/accounts/b4cdac07-eeca-4059-a29c-48900e453d54"
},
"resource": {
"href": "https://api-sandbox.dwolla.com/customers/36E9DCB2-889B-4873-8E52-0C9404EA002A"
},
"customer": {
"href": "https://api-sandbox.dwolla.com/customers/36E9DCB2-889B-4873-8E52-0C9404EA002A"
}
}
}
In this guide we will walk through creating a webhook subscription along with validating and processing webhook requests.
You will need to have a Sandbox account already set up. Although not required, this guide assumes that you have some familiarity with Amazon Web Services (AWS); specifically Lambda and SQS, or other similar services.
All funds transfers made using the Dwolla Platform are performed by a financial institution partner, and any funds held in a Dwolla Balance are held by a financial institution partner. Learn more about our financial institution partners.