Docs
Get API Keys

Step 1: Create a Webhook Subscription #

First, you will need to have a URL that is publicly accessible where Dwolla can send webhooks in the form of HTTP requests. This also means that anyone on the Internet can hit your endpoint. As such, here are some security concerns:

  • Your webhook endpoint should only be accessible over TLS (HTTPS) and your server should have a valid SSL certificate.
  • Your subscription should include a random, secret key, only known by your application. This secret key should be securely stored and used later when validating the authenticity of the webhook request from Dwolla.

Request Parameters #

ParametersRequiredTypeDescription
urlyesstringThe publicly-accessible URL where Dwolla should deliver the webhook notification.
secretyesstringA random, secret key, only known by your application. This secret key should be securely stored and used later when validating the authenticity of the webhook from Dwolla.

Request and Response #

raw
POST https://api-sandbox.dwolla.com/webhook-subscriptions
Accept: application/vnd.dwolla.v1.hal+json
Content-Type: application/vnd.dwolla.v1.hal+json
Authorization: Bearer 0Sn0W6kzNicvoWhDbQcVSKLRUpGjIdlPSEYyrHqrDDoRnQwE7Q
{
    "url": "https://myapplication.com/webhooks",
    "secret": "sshhhhhh"
}


...

HTTP/1.1 201 Created
Location:
https://api-sandbox.dwolla.com/webhook-subscriptions/077dfffb-4852-412f-96b6-0fe668066589

When the webhook subscription is created, you will receive a 201 Created HTTP response with an empty response body. You can refer to the Location header to retrieve a link to the newly-created subscription.

Webhook Subscription Resource #

ParameterDescription
idUnique webhook subscription identifier assigned by Dwolla.
urlSubscribed URL where Dwolla will deliver webhook notifications.
pausedA boolean true or false value indicating if a webhook subscription is paused. A webhook subscription will be automatically paused after 400 consecutive failures. In addition, a subscription can be paused or unpaused by calling this endpoint in our API.
createdISO-8601 timestamp this webhook subscription was created

Request and Response #

raw
GET https://api-sandbox.dwolla.com/webhook-subscriptions/077dfffb-4852-412f-96b6-0fe668066589
Accept: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY

...

{
  "_links": {
    "self": {
      "href": "https://api-sandbox.dwolla.com/webhook-subscriptions/077dfffb-4852-412f-96b6-0fe668066589"
    },
    "webhooks": {
      "href": "https://api-sandbox.dwolla.com/webhook-subscriptions/077dfffb-4852-412f-96b6-0fe668066589/webhooks"
    }
  },
  "id": "077dfffb-4852-412f-96b6-0fe668066589",
  "url": "https://myapplication.com/webhooks",
  "created": "2022-01-20T16:20:47+00:00"
}
Test in the Sandbox for free today.
Use sandbox environment to test API requests.
Get API Keys
2024 All Rights Reserved
Financial institutions play an important role in our network.

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.