Dwolla Developers Logo
Back
API Reference
CommunityOpen in new tabChangelog
Get API Keys
CommunityOpen in new tabChangelog
JavaScript
Get API Keys

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 three funding source types available with a Dwolla integration include a bank, the Dwolla balance, 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 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.

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.

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.

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, 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.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
2021 All Rights Reserved

Dwolla

  • About
  • Blog
  • Pricing
  • Contact Sales
  • Terms of Service
  • Privacy Policy
Financial institutions play an important role in our network.

Dwolla, Inc. is the operator of a software platform that communicates user instructions for funds transfers to our financial institution partners.

Dwolla is an agent of Veridian Credit Union. All ACH and Wire transfers are performed by Veridian Credit Union. Your Dwolla Balance, if any, is held in one or more pooled holding accounts held by Veridian Credit Union. These funds may not be eligible for share insurance by the National Credit Union Share Insurance Fund.

Sponsorship and Settlement of Push-to-Debit payment services provided by MetaBank®, N.A.
Push-to-Debit payments are typically available within 30 minutes.

Real-Time Payments are performed by Cross River Bank, which holds funds on behalf of the Receiver of such transactions in one or more pooled custodial accounts. These funds are not subject to FDIC pass-through deposit insurance.