Funding sources Plaid + Dwolla


I want to create a direct transfer from account to account. I need to understand the steps I have to build.

  1. I have an account in Plaid
  2. I have an account in Dwolla
  3. My client connected via Plaid
  4. I created a processor token in Plaid for Dwollla
  5. I created a customer in Dwolla
  6. How to verify a user (Business) and create a direct payment? Without verification, I have a 400 error.

In order to send funds, Dwolla requires two resources to be created: a customer and a funding source.

For the customer resource, this can be done via our API or drop-in components. Additionally, our guides on creating a business verified customer and a personal verified customer go into more detail on the verification process, as well as which API endpoints are required and what webhooks will get sent.

As for the funding source, this can be done via an account and routing number and micro-deposits, or you can integrate using Plaid. Since it looks like you’re wanting to use Dwolla’s integration with Plaid, I’d recommend checking out our guide on this topic as well as our integration-examples on GitHub. (The latter resource is an open-source project that shows the process for creating a funding source using Plaid.)

Once your business customer has been verified and you have attached a verified funding source via Plaid, you can then initiate a transfer.

I hope this helps! Please let us know if you have any further questions!

Thanks for the detailed answer. Do I understand you correctly? Using the token processor, Dwolla independently takes personal data from the Plaid account and verifies the client. I should not pass personal data of the client in my code. Am I getting it right?

That is correct. Since Dwolla’s integration with Plaid is tokenized, you would have the user log in to their bank account via Plaid Link, exchange the link token for a processor token, and then send the processor token over to Dwolla when creating a funding source.

When Dwolla receives a funding source creation request with a plaidToken in the request body, it will then call Plaid to securely fetch the account and routing number directly, rather than requiring that your application send the raw account and routing number over.

It’s very good. Thanks for your help.

I did all the steps in the documentation. I have created a user and a payment. The user is currently unverified and the payment is pending. How long does it take to verify a user and when will the payment be completed? How can I find out the status of a payment?

Could you help me to understand? How can I check the payment status? Which method can I use? I have some payments few days with pending status .

Webhook Subscriptions - Do I need to subscribe once, or at each evaluation, or at each session?
Session takes place to be a token that is presented in front of corporations?

Assuming that you are in our sandbox environment, you will need to simulate bank transfer processing first. Since our sandbox environment does not build/write an ACH file, this unfortunately has to be performed manually. (This can either be done via an API request or our dashboard.)

As for checking the status of a payment, there are two primary methods that can be used:

  1. Fetching the transfer resource via its ID
  2. Waiting to receive a webhook that indicates an event has occurred (e.g., a transfer has changed states or completed)

If you have the transfer ID (e.g., you cached the value that was returned when initiating the transfer), you can call our retrieve a transfer endpoint to get the current state of the transfer (it can found via the status property).

Otherwise, if you don’t have the transfer ID, then once you simulate bank transfer processing, if you have an active webhook subscription associated with your sandbox account and the state of the transfer changes, you will receive a webhook at the specified URL. (For more information on webhooks, I recommend checking out our page on webhook events as well as our guide on working with webhooks.)

Finally, to further understand how Dwolla creates and processes transfers, I recommend checking out our documentation on transfer lifecycle. (As a bonus, at the bottom of the page, there an interactive widget that will showcase what webhooks are sent when a transfer mutates its state.)

1 Like

Thanks for your help.