Learn how to integrate Dwolla and Plaid using Dwolla’s Secure Token Exchange solution to securely verify and link your users’ bank accounts for ACH payments, without handling sensitive account data directly.
usePlaidLink
— you first need to have your server generate a Link token. To learn more about what properties are available, check out Plaid’s Create Link Token documentation.
Though you are welcome to use additional Plaid products and customize the LinkTokenCreateRequest
object to your liking, a couple properties are required in order to be compatible with Dwolla:
country_codes
must include “US” (or an enumerative equivalent), as Dwolla is currently only able to transact with U.S.-based bank accounts.products
must include “auth” (or an enumerative equivalent), as Dwolla will fetch the associated account and routing number using Plaid Auth.usePlaidLink
with an additional onSuccess
handler.
The onSuccess
handler will be responsible for proxying client requests to your server to, at a minimum,
ProcessorTokenCreateRequestProcessorEnum.Dwolla
.
_link
and token
. In the API request, _link
defines a JSON object containing an exchange partner link relation, and token
defines the Plaid processor token that was generated in the previous step.
In the following function, once a response is received, it will extract the location
header value, which is the fully-qualified URL specifying the resource location of your exchange resource.
_link
, bankAccountType
, and name
. In the API request, _link
defines a JSON object containing an exchange link relation, bankAccountType
defines the type of the bank account: checking or savings, and name
defines an arbitrary name that you or your user will assign to the funding source.
In the following function, once a response is received, it will extract the location
header value, which is the fully-qualified URL specifying the resource location of your funding source.
Q: How does Dwolla integrate with Plaid when a processor_token is received?
processor_token
value is passed in via an exchange resource. With this information, Dwolla executes a call to Plaid’s API to securely retrieve the account and routing number and creates a funding source on your behalf. Upon success, Dwolla returns a URL that represents the new funding source via the location
response header.Q: Does Plaid work if the user has two-factor authentication (2FA) enabled on their bank account?
Q: If Plaid's access_token and processor_token changes or expires, what happens to the Dwolla funding source?
processor_token
has already been used to create a funding source, then the token changing or expiring will not affect it; Dwolla only uses the processor_token
to fetch the account and routing number from Plaid and then immediately discards it.processor_token
to create a funding source, then you will need to follow Plaid’s process for creating a new token before sending it over to Dwolla.Q: Can I use Plaid's micro-deposit solution instead of Dwolla's?
Q: Will Dwolla's funding source status change if Plaid's account status changes (e.g., micro-deposit verification)?
Q: Why did a transfer fail with an ACH return (e.g. R04 - Invalid Account Number) if the associated bank was successfully added and verified through Plaid?