Debit Cards #

Overview #

Utilizing the Dwolla API to facilitate the movement of money allows for flexibility in your payment types and transfer methods offered to your end users. One of the ways to add value to your application is to diversify the options for users to receive funds to different payment accounts. The ability to leverage debit cards as a funding source for your Customers is available only for the payouts funds flow, from your Master Dwolla Balance to your Customer's debit card.

Funding source types within Dwolla include:

  • Balance - A funding source automatically created for a Verified Customer. Dwolla Balance functionality is similar to a “wallet” that lives within the Dwolla Network where funds can be sent to, received from and held at Dwolla's financial institution partner.
  • Bank Account - An account at a financial institution to send or receive funds to.
  • Debit Card - A reloadable prepaid or bank-issued debit card that can be used as a funding source type to receive funds in near real-time.

The Use Case #

When your Customer adds a debit card as a funding source type it allows them 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.

Prime use cases include dual sided marketplaces and task-based employment - just to name a couple.

Tell Me More #

When a payout is initiated to a debit card, funds will move from your Master Dwolla Balance to an end user’s payment account via the card network, to the specified debit card. In most cases, funds will be available to your users typically within 30 minutes, 24/7/365 - no need to worry about weekends or banking holidays.

In order to send money over the card networks, Dwolla will need to register your business as a merchant with Mastercard and Visa. It will require providing a few pieces of information in order to submit your application such as Merchant Category Code (MCC) (the goods and services category that payouts will be initiated for) and billing statement descriptor (how your company is displayed on your end user’s billing statement). Dwolla will work with you to identify the MCC and statement descriptor that most closely matches your profile.

Billing statement codes can be 1-20 characters in length and we will set that on your behalf.

Transaction Limits #

These limits apply regardless of whether your application is approved for increased transaction limits for your end users on the Dwolla platform, as these are enforced by the card networks.

  • The maximum single transaction amount allowed by the networks is $50,000.

Funding Source Types: Debit Card vs. Bank Account #

When comparing the differences between adding a bank account vs debit card as a funding source type, it’s important to weigh the pros and cons for each method. While debit cards make funds almost immediately available for a customer, the functionality is only supported for a subset of funds flows and pricing tiers.

Refer to the table below for more information.

Funding Source TypeRequired InformationTransaction TimingTransfer AvailabilitySupported Funds FlowsSupported Pricing Tiers
Debit CardFull Name
Card Number
Expiration Date
*Typically within 30 MinutesEvery day (24/7/365)Send (Sourced from a Dwolla Balance)Scale and Enterprise pricing tiers
Bank AccountAccount and Routing Number OR Online banking credentials1-6 business days, depending on transfer timing specificationBusiness days and non-banking holidaysReceive, Send, Facilitation, Me-to-MePay-As-You-Go, Scale and Enterprise pricing tiers

Push-to-Debit Failures #

Funds pushed over the card networks will be available for use in near real-time, eliminating the possibility of a return. If a debit card is ineligible to receive funds, the transfer will fail and the applicable error message will be returned via a customer_card_transfer_failed webhook. In the event of a failed transfer, funds will not leave your balance.

When a push-to-debit transfer is unable to be completed, its status will be updated to failed. The response from the API when retrieving the transfer should contain a "failure" link that your application will follow to retrieve the transfer failure reason.

Check our guide on simulating various Push-to-debit error scenarios in Sandbox.
List of push-to-debit failure reasons
UnknownThere was a problem with this card transaction.
InvalidInstrumentThe account number does not exist. Please make sure the account number is correct or contact your issuer.
ExceedsIssuerAmountLimitTransaction violates issuer amount limit. Please contact card issuer for more information or try with another card.
ExceedsIssuerCountLimitPlease attempt with another card or contact card issuer for more information.
CallIssuerPlease contact card issuer for more information.
DeclinedPlease contact card issuer for more information.
LostOrStolenCardPlease contact card issuer for more information.
SuspectedFraudPlease contact card issuer for more information.
ComplianceViolationThis transaction does not fulfill compliance requirements and cannot be processed.

Example push-to-debit transfer failure reason

var transferUrl =

dwolla.get(`${transferUrl}/failure`).then((res) => res.body.code); // => 'Unknown'

Creating a Debit Card Funding Source #

Create a debit card as a funding source type via the dwolla-cards.js client-side library. This library will allow your application to securely transmit sensitive customer card data without the data passing through your server.

Wrap-up #

Much like choosing the correct customer type, considerations on which funding source types to create can greatly impact the functionality and flexibility of your application when it comes to sending or receiving funds. From functionality of transfer timing, down to the preference in user experience, each method provides its own characteristics that can be tailored to fit your application’s desired use case. Enabling a Debit Card as an option for a funding source type for end users can open up many possibilities within your application.

Test in the Sandbox for free today.

Use sandbox environment to test API requests.

Get API Keys
2023 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.