The Funding Sources resource represents payment accounts that can be used to send and/or receive funds. Funding sources are relational to either a Dwolla Master Account or Customer and can be used to reference details on a payment account.
The three funding source types available with a Dwolla integration include a bank
, the Dwolla balance
, and a virtual
account. Type bank
represents any bank account attached as a funding source to Account and Customer resources. Type balance
represents the Dwolla Balance made available to Account and Verified Customer resources. Type virtual
represents a Virtual Account Number (VAN) funding source which can be used outside of the Dwolla Platform to route ACH payments both to and from a Dwolla Balance.
Funding sources of type bank
include an additional attribute, bankAccountType
, denoting the type of the bank account being attached. The bank account types currently supported by Dwolla include checking
, savings
, general-ledger
and loan
.
checking
, savings
- Checking and savings accounts can be attached to any Customer type. These account types are enabled for all Accounts and Customers, by default.
general-ledger
- General ledger accounts can only be attached to exempt Business Verified Customers. Note: Enabling this account type requires additional Dwolla approvals before getting started. Please contact Sales or your account manager for more information on enabling this account type.
loan
- Loan accounts can only be attached to Verified Customers. These funding-sources can only be credited, meaning funds can only be sent to these accounts. Note: Enabling this account type requires additional Dwolla approvals before getting started. Please contact Sales or your account manager for more information on enabling this account type.
The Dwolla Balance can be utilized as a digital "wallet", storing USD funds for the Customer or Account with Dwolla’s financial institution partners. Additionally, the Dwolla Balance can be pre-loaded with funds for quicker outgoing ACH transfers to destination funding sources. To get a more in-depth overview of the Dwolla Balance, including functionality and other benefits, check out our developer resource article or view our webinar.
The Virtual Account Number, or VAN
, is a funding source that upon creation contains both an account number and routing number which can be utilized outside of the Dwolla Platform to route ACH payments both to and from a Dwolla Balance. VANs cannot be used as a source or destination in POST
requests to the /transfers
endpoint as they can only be associated with activity that originates from outside of the Dwolla Platform. Because a VAN
behaves as a route to a Dwolla balance, only Master Dwolla Accounts and Verified Customers are eligible to create a VAN
funding source.
Link | Description |
---|---|
self | URL of the funding source resource. |
customer | GET this link to retrieve details of the Customer. |
remove | POST to this link to remove the funding source from the Customer. |
balance | (Verified Customer only) GET this link to retrieve the amount available in the balance of the Customer's Balance funding source. |
transfer-from-balance | (Verified Customer only) if this link exists, the Customer can transfer funds from their balance. |
transfer-to-balance | (Verified Customer only) if this link exists, funds can be transferred to the Customer's balance. |
transfer-send | If this link exists, the Customer can send funds to another Customer. |
transfer-receive | The Customer can receive funds from another Customer. |
initiate-micro-deposits | POST to this link to initiate micro-deposits on an unverified funding source. |
verify-micro-deposits | Micro-deposits have completed to this funding source and are eligible for verification. POST to this link with the verify micro-deposit amounts and complete bank funding source verification. |
failed-verification-micro-deposits | Micro-deposits attempts have failed due to too many failed attempts. Remove the bank and re-add to attempt verification again. |
Parameter | Description |
---|---|
id | The funding source unique identifier. |
status | Possible values are unverified or verified . Determines if the funding source has completed verification. |
type | Type of funding source. Possible values are bank , balance , or virtual . |
bankAccountType | An attribute for bank funding sources that determines the type of account. Possible values are checking , savings , general-ledger or loan . |
name | Arbitrary nickname for the funding source. |
created | ISO-8601 timestamp for when the funding source was created. |
balance | An optional object that includes value and currency parameters. value is a string value for the amount available and currency is a string value currency code. Only returned for a Dwolla API Customer account balance. |
removed | Determines if the funding source has been removed. A boolean true if the funding source was removed or false if the funding source is not removed. |
channels | List of processing channels. ACH is the default processing channel for bank transfers. Possible values are ach , real-time-payments or wire . |
bankName | The financial institution name. This value is generated from its routing number by Dwolla when a funding source is created; it cannot be specified manually. |
iavAccountHolders | An optional object that includes optional selected and other parameters. selected , a string with the account holder name(s) on file with the financial institution for the IAV selected account. other , a list of strings with name(s) of other accounts on file. Only returned for a Customer that added a bank using Dwolla IAV, and if names are returned for the selected bank account. |
fingerprint | Fingerprint is an optional unique identifying string value returned for funding sources of type bank . This attribute can be used to check across all Dwolla API Customers if two bank accounts share the same account number and routing number. Removing a funding source does not remove the fingerprint . |
{
"_links": {
"self": {
"href": "https://api-sandbox.dwolla.com/funding-sources/fc84223a-609f-42c9-866e-2c98f17ab4fb",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "funding-source"
},
"customer": {
"href": "https://api-sandbox.dwolla.com/customers/241ec287-8d7a-4b69-911e-ffbea98d75ce",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "customer"
}
},
"id": "fc84223a-609f-42c9-866e-2c98f17ab4fb",
"status": "verified",
"type": "bank",
"bankAccountType": "checking",
"name": "Your Account #1 - CHECKING",
"created": "2017-08-16T20:06:34.000Z",
"removed": false,
"channels": [
"ach",
"real-time-payments"
],
"bankName": "SANDBOX TEST BANK",
"iavAccountHolders": {
"selected": "account holder",
"other": [
"Jane Doe",
"GeneriCompany LLC"
]
},
"fingerprint": "4cf31392f678cb26c62b75096e1a09d4465a801798b3d5c3729de44a4f54c794"
}
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.