RyzeDeskRyzeDesk

Stripe

4105 articles

Consumer prepaid debit cards


Private preview

Consumer prepaid debit cards Private preview

Learn how to issue prepaid debit cards.

Issue prepaid debit cards to give your users a way to instantly receive and spend money. Offer rewards, disburse earnings, or launch a branded card program. With consumer prepaid cards, you can:

  • Create consumer accounts and attach cards while outsourcing KYC obligations and compliance capabilities to Stripe
  • Manage the consumer ledger with your own financial accounts or allow Stripe to manage it on your behalf.
  • Offer virtual cards with push provisioning to digital wallets, or physical cards with production and shipping managed by Stripe.
  • Outsource disputes, complaints, and other specialised customer support inquiries to Stripe.

For eligible platforms, Stripe offers revenue share on prepaid debit card interchange.

Use cases

Use caseDescription
RewardsSend customers prepaid rewards cards, customised with your company’s logo.
DisbursementsInstantly send money for insurance claims, rebates, or earnings.
Branded cardsLaunch a branded wallet and card.
Multi-WalletsLaunch a card on top of your existing consumer wallets while maintaining and managing the ledger.

Get started

To establish your Consumer Issuing program, you need to:

  • Create and fund a financial account for your platform.
  • Create connected accounts and cardholders to represent your consumers.
  • Create cards that are attached to your cardholder’s financial account.
  • Fund your cardholder’s financial account from your platform’s financial account.

If you’re interested in getting early access to consumer prepaid debit cards, contact our sales team.

Create and fund your v2 Financial Account

Use your v2 Financial Account to disburse funds to your consumer’s balance. A v2 Financial Account is separate from your payments balance. If you have access to consumer prepaid, we automatically create a v2 Financial Account for you.

To fund the v2 Financial Account, follow the steps below.

Retrieve your Financial Account ID

Retrieve your v2 FinancialAccount to get its ID for use in later API requests.

Command Line

Create a v2 FinancialAddress

To create funding credentials, create a v2 FinancialAddress.

Command Line

Retrieve funding credentials

This request returns a routing number and an account number. Use the routing and account number to initiate funding from your external bank account.

Command Line

Retrieve your financial account balance

Depending on the source you use to fund your financial account, it might take 1 business day for funds to become available. Use the Financial Accounts API to view your available balance.

Command Line

Example response:

{
 "id": "fa_65NvTFNdpXXUx1kx1rB16NoTesLDSQ1IgNPigisRKq09iq",
 "object": "v2.money_management.financial_account",
 "balance": {
 "available": {
 "usd": {
 "value": 0,
 "currency": "usd"
 }
 },
 "inbound_pending": {
 "usd": {
 "value": 0,
 "currency": "usd"
 }
 },
 "outbound_pending": {
 "usd": {
 "value": 0,
 "currency": "usd"
 }
 }
 }
}

Consumer onboarding

Onboard each consumer by creating a connected account for them. Create an account for each consumer who wants a prepaid debit card on your platform, which we refer to as a connected account. The connected account stores know your customer (KYC) information about the consumer and enables features on the account. Request the storage, card_creator, and recipient capabilities for each consumer.

Note

The onboarding flow uses the Stripe Accounts v2 API. Some Docs reference v1 objects for backward compatibility, but for existing v1 accounts, Stripe provides projections to create consumer account configurations.

Create an Account

Create an Account object for your consumer. Use the resulting account ID in future API calls.

Command Line

Record terms of service

Present the consumer with the terms of service. Collect acceptance, then record it using the attestations parameter on the v2 Accounts API.

Command Line

Attach the Issuing Program ID to the account

Retrieve the Issuing Program ID that the connected account uses.

Command Line

Attach the Issuing Program ID to the connected account.

Command Line

Create a consumer v2 FinancialAccount

Create a v2 FinancialAccount for the connected account to hold the balance for their card. Set funds_usage_type to consumer and pass the connected account ID in the Stripe-Context header.

Command Line

Close the account

Close the account to remove access to the account and its associated resources. Pass all configurations on the account for this request to succeed.

Command Line

Handle onboarding exceptions

If a consumer can’t complete onboarding, we notify you through webhook events. Use these events to resolve requirements and inform your customer support team.

  • Error enum
  • Document verification issues
  • Testing exceptions

Card issuing

After you create an account and grant a reward to the consumer, issue a card.

KYC verification happens asynchronously and might take a few minutes to complete.

When you create a connected account, Stripe performs Know Your Customer (KYC) verification in the background. The required capabilities (for example, card_creator) don’t activate immediately. Calling the cardholder creation ( POST /the relevant part of the product) or card issuing ( POST /the relevant part of the product) APIs before the relevant capabilities are fully activated on the connected account can result in an error.

To know when a capability is active, listen for the v2.core.account[configuration.card_creator].capability_status_updated webhook event before proceeding.

Warning

If you need to retry after the capability is active, you must use a new idempotency key. The Stripe v1 API caches error responses against the original idempotency key for at least 24 hours. Retrying with the same key within that window returns the same cached error, even if the capability has activated. Learn more about advanced error handling.

Create a cardholder

First, create a cardholder. The Cardholder object lets you attach multiple cardholders to a single account (for example, a primary cardholder and a secondary cardholder).

Command Line

Issue a card

Issue the card and specify the currency. Attach the consumer’s v2 FinancialAccount to the card.

Command Line

Activate the card

Cards are inactive by default when Stripe creates them. To activate the card:

Command Line

Card funding

Fund your platform with Inbound Transfers

Pull ACH debit funds from your external bank account into your platform financial account by creating an Inbound Transfer.

Command Line

Fund connected accounts with Outbound Payments

Use v2 Outbound Payments to transfer funds from the platform financial account to the connected account financial account. Funds in the connected account financial account fund card activity. If the connected account financial account has insufficient funds, authorisations decline.

You can fund this account at any time, including before you create the card.

Command Line

Digital wallets

Stripe offers tokenisation services for major wallet providers and can help you enable manual provisioning or in-app push provisioning. Use the following guides to get started:

  • Manual provisioning
  • In-app provisioning

Stripe Elements

You can display card information for a virtual card using Stripe Issuing Elements. This JavaScript and iframe-based implementation lets you display sensitive card information in your existing user interface with a Copy button.

  • Card number, also known as PAN ( virtual cards only)
  • CVC (virtual cards only)
  • Expiry date
  • PIN

Check the consumer’s balance

You can check the consumer’s balance using their Financial Account ID.

Command Line

Additionally, you can list the consumer’s transactions:

Command Line

Submit dispute evidence

Stripe offers a guided Dashboard process and an API to submit disputes and monitor them through to resolution. Learn how to use Issuing to dispute transactions.

Regulated customer notices

Stripe automatically sends Reg E-required emails to your consumers at each stage of the dispute lifecycle, branded with your platform name and logo. For platform branding configuration and information about sending your own regulated emails, see Issuing regulated customer notices.

Consumer dispute email templates

Dispute received

Confirm your dispute in writing (managed support)

Provisional credit applied

No error found — resolution notice

Error found — provisional credit finalized

No error found — written explanation and provisional credit reversal

Dispute resolution findings

Emails that include a {{the related setting}} field are populated by Stripe based on the dispute type and review outcome. The following findings apply when no error is found:

Unauthorized use or fraud

Processing errors

ATM cash not received

Canceled recurring transaction

Enriched merchant data

You can improve your users’ transaction history by including enriched merchant data, such as human-readable business names and standardised logos. You can also use enriched merchant data to improve spending controls by using consistent counterparty IDs across channels and storefronts.

Last verified 2026-09-27

Is this helpful?