Real-time event notifications. Determine why a webhook subscription is vital to the experience of your application.
X-Dwolla-Topic
lets your app know, at a high level, the type of event being sent in the payload. X-Request-Signature-SHA-256
contains an HMAC SHA-256 hash based on the webhook payload and a key which is your webhook secret. The webhook signature should be processed and validated prior to parsing the webhook payload.
X-Dwolla-Topic
- customer_createdX-Request-Signature-SHA-256
- ed551cfb4acb48d31e14886bffa33aa417dfa4a3d3778f6141a7f7f92ee64861_links
to: the relevant resource that caused the Event to be triggered, the Customer that the Event belongs to, and a self
link to identify the unique Event. In addition to relevant _links
, the payload will include attributes such as a created
timestamp, event topic
, resourceId
, and conditionally a correlationId
(see table below for more information).
Attribute | Description |
---|---|
_links | An object that contains relevant links to resources in the Dwolla API. Possible links can include: self , account , resource , and customer . self - a link to the unique event account - a link to the Dwolla account that the application belongs to resource - a link to the resource that changed states. Used to lookup additional details returned on the resource itself customer - a link to the customer the Event belongs to |
id | Unique Event ID. An Event ID is used along with the created timestamp for idempotent event processing. |
created | ISO-8601 timestamp when event was created. |
topic | Type of action that occurred with Dwolla. |
resourceId | Unique ID of the resource that triggered the Event. |
correlationId | Unique ID that was specified, if any, when a transfer was created. This value is only present for transfer and transfer-related webhooks. |
customer_*
. Events that
represent actions being triggered on your primary Dwolla Account are not shown
below. Refer to the API docs for
the complete list of Events.Event Topic Name | Description |
---|---|
customer_created | Description: A Customer was created. Timing: Occurs upon a POST request to the Create a Customer endpoint. |
customer_kba_verification_needed | Description: The retry identity verification attempt failed due insufficient scores on the submitted data. The end user will have a single kba attempt to answer a set of “out of wallet” questions about themselves for identity verification. Timing: Occurs after a failed attempt to verify a Verified Customer Record. |
customer_kba_verification_failed | Description: The end user failed KBA verification and was unable to correctly answer at least three KBA questions. Timing: Triggered after a single attempt at verifying a Verified Customer Record using KBA. |
customer_kba_verification_passed | Description: The end user was able to correctly answer at least three KBA questions. Timing: Triggered after a Verified Customer Record successfully passes KBA requirements. |
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. |
Event Topic Name | Description |
---|---|
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 | Description: 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 | Description: 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 | Description: 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 | Description: 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 | Description: 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_beneficial_owner_verified | Description: A beneficial owner has been verified. Timing: Occurs when a Beneficial Owner is verified by Dwolla upon a POST request to the Create a beneficial owner endpoint. In a case where the Beneficial Owner isn’t instantly verified upon creation, this event occurs when the Beneficial Owner is verified after an update, or after a document is approved. |
Event Topic Name | Description |
---|---|
customer_exchange_deactivated | Description: An exchange was deactivated for a Customer. Timing: Occurs when access to a user’s connected bank account has been interrupted. A user’s bank connection needs to be refreshed by creating a reauth exchange session. |
customer_exchange_reauth_required | Description: An exchange is pending deactivation and requires reauthentication. Timing: Occurs when access to a user’s connected bank account will soon be interrupted. This interruption could be due to changes on the bank’s end, such as a password update, multi-factor authentication reset or revoked consent. This event signals that a user’s bank connection needs to be refreshed by creating a reauth exchange session. |
Event Topic Name | Description |
---|---|
customer_funding_source_added | Description: 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 drop-in components or a third party bank verification method. |
customer_funding_source_removed | Description: 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 | Description: 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 a third-party bank verification method. Also occurs in cases where Dwolla manually marks a funding source as verified. |
customer_funding_source_unverified | Description: 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 | Description: 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 | Description: 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 | Description: 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. |
customer_microdeposits_failed | Description: 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 | Description: 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 | Description: 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. |
correlationId
key-value pair may be present if a value was specified when the transfer was created.
Event Topic Name | Description |
---|---|
customer_bank_transfer_created | Description: 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 | Description: 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 | Description: 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 | Description: 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 | Description: 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 | Description: 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 | Description: 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 | Description: 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 | Description: 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. |
Event Topic Name | Description |
---|---|
customer_mass_payment_created | Description: 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 | Description: 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 | Description: 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_balance_inquiry_completed | Description: Upon checking a Customer’s bank balance, Dwolla will immediately return an HTTP 202 with response body that includes a status of processing . Timing: This event will be triggered when the bank balance check has completed processing. |
Event Topic Name | Description |
---|---|
customer_label_created | Description: A Verified Customer’s label was created. Timing: Occurs upon a POST request to the Create a label endpoint. |
customer_label_ledger_entry_created | Description: 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 | Description: A Verified Customer’s label was removed. Timing: Occurs upon a POST request to the Remove a label endpoint. |