Easily Integrate Dwolla Webhooks with your application.

https://developers.dwolla.com/concepts/webhook-events

Steps to receive Dwolla Webhooks

  • Sign up for your free Hooky account.
  • Create a new Webhook Source, and select Dwolla. This will be the endpoint that receives webhooks on behalf of your application, and forwards them using the unified SDK.
  • Step 1
  • Step 2
  • Once a webhook is received from Dwolla, you'll see it under the Live Logs section of your webhook source.
  • Next, follow the examples below to integrate the Hooky SDK in ruby or javascript, and start receiving webhooks.
Save countless hours integrating Dwolla webhooks into your application.

Integrating Dwolla Webhooks Using Javascript

Integrating Dwolla webhooks with Hooky in your Javascript based application is straight forward. Just grab the SDK, and call a function when that webhook is received.

Integrating Dwolla Webhooks Using Ruby

Integrating Dwolla webhooks with Hooky in your Ruby or Ruby on Rails application is straight forward. Just grab the SDK, and call a method when that webhook is received.

Configuring Dwolla Webhook Authentication

Here's how it works

Supported Dwolla Webhook Events

customer_created

Description: A Customer was created. Timing: Occurs upon a POST request to the Create a Customer endpoint.

customer_reverification_needed

Description: Incomplete information was received for a Customer; updated information is needed to verify the Customer. Timing: Occurs upon a POST request to the Update a Customer endpoint, or when Dwolla places a Customer into retry status.

customer_verification_document_needed

Description: Additional documentation is needed to verify a Customer. Timing: Occurs when a second attempt to re-verify a Customer fails, which systematically places the Customer in document status immediately after a POST request to the Update a Customer endpoint.

customer_verification_document_uploaded

Description: A verification document was uploaded for a Customer. Timing: Occurs upon a POST request to the Create a Document endpoint.

customer_verification_document_failed

Description: A verification document was rejected for a Customer. Timing: Occurs when a document uploaded for a Customer is reviewed by Dwolla, and rejected with a document failure reason, usually within 1-2 business days of uploading a document.

customer_verification_document_approved

Description: A verification document was approved for a Customer. Timing: Occurs when a document uploaded for a Customer is reviewed by Dwolla, and approved, usually within 1-2 business days of uploading a document.

customer_verified

Description: A Customer was verified. Timing: Occurs when a Customer is verified by Dwolla upon a POST request to the Create a Customer endpoint. In a case where the Customer isn’t instantly verified upon creation, this event occurs when the Customer is verified after a retry attempt, or after a document is approved.

customer_suspended

Description: A Customer was suspended. Timing: Occurs when Dwolla systematically places a Customer in suspended status as a result of uploading fraudulent document, or upon receiving certain ACH return codes when a transfer fails.

customer_activated

Description: A Customer moves from deactivated or suspended to an active status. Timing: Occurs upon reactivating a Customer that has a deactivated status by making a POST request to the Update a Customer endpoint, or when Dwolla reactivates a Customer that has a suspended status.

customer_deactivated

Description: A Customer was deactivated. Timing: Occurs upon deactivation of a Customer by making a POST request to the Update a Customer endpoint, or when Dwolla systematically deactivates a Customer upon receiving certain ACH return codes when a transfer fails.

customer_beneficial_owner_created

Description: A Beneficial owner was successfully created. Timing: Occurs upon a POST request to the Create a beneficial owner endpoint.

customer_beneficial_owner_removed

Description: An individual beneficial owner has been successfully removed from the Customer. Timing: Occurs upon a POST request to the Remove a beneficial owner endpoint.

customer_beneficial_owner_verification_document_needed

Additional documentation is needed to verify an individual beneficial owner. Timing: Occurs when a second attempt to re-verify a beneficial owner fails, which systematically places the beneficial owner in document status immediately after a POST request to the Update a beneficial owner endpoint.

customer_beneficial_owner_verification_document_uploaded

A verification document was uploaded for beneficial owner. Timing: Occurs upon a POST request to the Create a document for a beneficial owner endpoint.

customer_beneficial_owner_verification_document_failed

A verification document was rejected for a beneficial owner. Timing: Occurs when a document uploaded for a beneficial owner is reviewed by Dwolla, and rejected with a document failure reason reason, usually within 1-2 business of uploading a document.

customer_beneficial_owner_verification_document_approved

A verification document was approved for a beneficial owner. Timing: Occurs when a document uploaded for a Customer is reviewed by Dwolla, and approved, usually within 1-2 business days of uploading a document.

customer_beneficial_owner_reverification_needed

A previously verified beneficial owner status has changed due to either a change in the beneficial owner’s information or at request for more information from Dwolla. The individual will need to verify their identity within 30 days. Timing: Occurs upon a POST request to the Update a beneficial owner endpoint, or when Dwolla places the beneficial owner into incomplete status.

customer_funding_source_added

A funding source was added to a Customer. Timing: Occurs upon a POST request to the Create a funding source for a customer endpoint, or when a funding source is added via dwolla.js or a third party bank verification method.

customer_funding_source_removed

A funding source was removed from a Customer. Timing: Occurs upon a POST request to the Remove a funding source endpoint, or when Dwolla systematically removes a funding source upon receiving certain ACH return codes when a transfer fails.

customer_funding_source_verified

A Customer’s funding source was marked as verified. Timing: Occurs upon a POST request to the Verify micro-deposits endpoint with the corrent amounts, or when a funding source is added + verified via IAV or a third party bank verification method. Also occurs in cases where Dwolla manually marks a funding source as verified.

customer_funding_source_unverified

A funding source has been systematically unverified. This is generally a result of a transfer failure. View our developer resource article to learn more. Timing: Occurs when Dwolla systematically marks a funding source unverified upon receiving certain ACH return codes when a transfer fails.

customer_funding_source_negative

: A Customer’s balance has gone negative. You are responsible for ensuring a zero or positive Dwolla balance for Customer accounts created by your application. If a Customer’s Dwolla balance has gone negative, you are responsible for making the Dwolla Customer account whole. Dwolla will notify you via a webhook and separate email of the negative balance. Timing: Occurs upon a POST request to the Initiate a transfer endpoint that causes a funding source balance to go negative.

customer_funding_source_updated

A Customer’s funding source has been updated. This can also be fired as a result of a correction after a bank transfer processes. For example, a financial institution can issue a correction to change the bank account type from checking to savings. Timing: Occurs upon a POST request to the Update a funding source endpoint.

customer_microdeposits_added

Two less than or equal to ten cent transfers to a Customer’s linked bank account were initiated. Timing: Occurs upon a POST request to the Initiate micro-deposits endpoint, or when a Customer selects the microdeposits option within IAV.

customer_microdeposits_failed

The two less than or equal to ten cent transfers to a Customer’s linked bank account failed to clear successfully. Timing: Occurs when micro-deposits fails to clear into a bank account, usually within 1-2 business days of initiating them.

customer_microdeposits_completed

The two less than or equal to ten cent transfers to a Customer’s linked bank account were successful. Timing: Occurs when micro-deposit are successful, usually within 1-2 business days of initiating them.

customer_microdeposits_maxattempts

The Customer has reached their max verification attempts, limit of three. The Customer can no longer verify their funding source with the completed micro-deposit amounts. Timing: Occurs upon the third POST request to the Verify micro-deposits endpoint with incorrect micro-deposit amounts.

customer_bank_transfer_created

A bank transfer was created for a Customer. Represents funds moving either from a verified Customer’s bank to the Dwolla Platform or from the Dwolla Platform to a verified Customer’s bank. Timing: Occurs upon a POST request to the Initiate a transfer endpoint when sending funds from a Verified Customer’s bank, or when funds move from a receiving Verified Customer’s balance to their bank.

customer_bank_transfer_cancelled

A pending Customer bank transfer has been cancelled, and will not process further. Represents a cancellation of funds either transferring from a verified Customer’s bank to the Dwolla Platform or from the Dwolla Platform to a verified Customer’s bank. Timing: Occurs upon a POST request to the Cancel a transfer endpoint, or when Dwolla manually cancels a transfer.

customer_bank_transfer_failed

A Customer bank transfer. Usually, this is a result of an ACH failure (insufficient funds, etc.). Represents a failed funds transfer either from a verified Customer’s bank to the Dwolla Platform or from the Dwolla Platform to a verified Customer’s bank. Timing: Occurs when Dwolla marks a transfer as failed.

customer_bank_transfer_creation_failed

Transfers initiated to a verified Customer’s bank must pass through the verified Customer’s balance before being sent to a receiving bank. Dwolla will fail to create a transaction intended for a verified Customer’s bank if the funds available in the balance are less than the transfer amount. Timing: Occurs when a transfer to a verified Customer’s bank fails to be created.

customer_bank_transfer_completed

A bank transfer that was created for a Customer was success. Represents a successful funds transfer either from a verified Customer’s bank to the Dwolla Platform or from the Dwolla Platform to a verified Customer’s bank. Timing: Occurs when a funds transfer into the Dwolla Platform or a verified Customer’s bank is successful, based on the transfer processing Timing used.

customer_transfer_created

A transfer was created for a Customer. Represents funds transferring from a verified Customer’s balance or unverified Customer’s bank. Timing: Occurs upon a POST request to the Initiate a transfer endpoint when sending funds from a verified Customer’s balance, or to/from an unverified Customer’s bank.

customer_transfer_cancelled

A pending transfer has been cancelled, and will not process further. Represents a cancellation of funds transferring either to an unverified Customer’s bank or to a verified Customer’s balance. Timing: Occurs upon a POST request to the Cancel a transfer endpoint to cancel a transfer initiated from a verified Customer’s balance, or to/from an unverified Customer’s bank.

customer_transfer_failed

A Customer transfer failed. Represents a failed funds transfer either to an unverified Customer’s bank or to a verified Customer’s balance. Timing: Occurs when Dwolla marks a transfer as failed.

customer_transfer_completed

A Customer transfer was successful. Represents a successful funds transfer either to an unverified Customer’s bank or to a verified Customer’s balance. Timing: Occurs when a funds transfer into an unverified Customer’s bank or a verified Customer’s balance is successful, based on the transfer processing Timing used.

customer_mass_payment_created

A verified Customer’s mass payment was created. Timing: Occurs upon a POST request to the Initiate a mass-payment endpoint

customer_mass_payment_completed

A verified Customer’s mass payment was completed. However, this doesn’t mean that each mass payment item’s transfer was successful. Timing: Occurs when a mass payment job completes.

customer_mass_payment_cancelled

A Verified Customer’s created and deferred mass payment was cancelled. Timing: Occurs upon a POST request to the Update a mass-payment endpoint when cancelling a mass payment job.

customer_label_created

A Verified Customer’s label was created. Timing: Occurs upon a POST request to the Create a label endpoint.

customer_label_ledger_entry_created

A ledger entry for a Verified Customer’s label was created. Timing: Occurs upon a POST request to the Create a label ledger entry endpoint.

customer_label_removed

A Verified Customer’s label was removed. Timing: Occurs upon a POST request to the Remove a label endpoint.