Funding Sources #

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.

Funding source types #

The four funding source types available with a Dwolla integration include a bank, the Dwolla balance, a virtual account number, and a debit card. 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. Type card represents a reloadable prepaid or bank-issued debit card that can be used as a funding source type to receive funds in near real-time.

Bank funding source

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.

Balance funding source

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.

Virtual account funding source

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.

Card funding source

Adding a debit card as a funding source type allows your Customers to receive funds typically within 30 minutes rather than hours or days. By sending funds from your Master Dwolla Balance funding source, you can directly “push” these funds out in near real-time to a customer’s reloadable prepaid card or bank-issued debit card. To get a more in-depth overview of debit cards, including functionality and other benefits, check out our developer resource article.

LinkDescriptionselfURL of the funding source resource.customerGET this link to retrieve details of the Customer.removePOST 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-sendIf this link exists, the Customer can send funds to another Customer.transfer-receiveThe Customer can receive funds from another Customer.initiate-micro-depositsPOST to this link to initiate micro-deposits on an unverified funding source.verify-micro-depositsMicro-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-depositsMicro-deposits attempts have failed due to too many failed attempts. Remove the bank and re-add to attempt verification again.

Funding source resource #

ParameterDescriptionidThe funding source unique identifier.statusPossible values are unverified or verified. Determines if the funding source has completed verification.typeType of funding source. Possible values are bank, balance, virtual or card.bankAccountTypeAn attribute for bank funding sources that determines the type of account. Possible values are checking, savings, general-ledger or loan.nameArbitrary nickname for the funding source.createdISO-8601 timestamp for when the funding source was created.balanceAn 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.removedDetermines 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.channelsList of processing channels. ACH is the default processing channel for bank transfers. Possible values are ach, real-time-payments or wire.bankNameThe financial institution name. This value is generated from its routing number by Dwolla when a funding source is created; it cannot be specified manually.iavAccountHoldersAn 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.fingerprintFingerprint 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.cardDetailsA card details JSON object. Included if the funding-source is of type card.

cardDetails JSON object

ParameterDescriptionbrandThe brand of the card.lastFourThe last four digit of the card.expirationMonthThe expiration month of the card.expirationYearThe expiration year of the card.nameOnCardThe name of the cardholder.

cardDetails example

bash
"cardDetails": {
  "brand": "VISA",
  "lastFour": "1111",
  "expirationMonth": 12,
  "expirationYear": 2024,
  "nameOnCard": "Jane Doe"
}

Funding source resource example

bash
{
    "_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"
}

Test in the Sandbox for free today.

Use sandbox environment to test API requests.

Get API Keys
2022 All Rights Reserved
Financial institutions play an important role in our network.

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.