Set up an Issuing and Connect integration
Learn how to issue cards on connected accounts.
Stripe Connect provides Stripe Issuing platforms with foundational infrastructure to manage funds flows and compliance requirements. In a Connect integration, the platform account makes API calls on behalf of the connected accounts.
When to use Connect
If you need to issue cards for users that arenât directly employed by your business, set up Stripe Connect for your Issuing integration. For example, a business building a new expense management product for small businesses can integrate with Connect. Each small business that uses the expense management product is set up as a connected account.
After you set up and onboard connected accounts, your customers can support their card spend by funding their Issuing balance from their external bank account (or, in certain cases, your customersâ spend can be supported by your platform Issuing balance). Your customers can also create cardholders and cards and set up spending controls.
Create connected accounts with Issuing capabilities
To issue cards, each business entity must use a connected account. Issuing only supports connected accounts that donât use a Stripe-hosted Dashboard, and where your platform is responsible for requirements collection and loss liability, also known as a Custom connected account. Learn how to create connected accounts that work with Issuing. All accounts must request the card_ and transfers account capabilities.
Private preview
Enabling Issuing on non-custom connected accounts is a new feature. Email [email protected] to request access.
Create an account
Create a new connected account through the Dashboard or using the API with create Account.
In testing environments, connected accounts canât receive or spend real money and canât be used in live mode, but theyâre identical in configuration and functionality.
Enable Issuing on existing connected accounts
If your platform already has a Connect integration with connected accounts, you can request Issuing on those accounts through the Dashboard or through the API.
If your platform already has connected accounts, make sure they have a supported configuration for Issuing or Financial Accounts for platforms. Issuing only supports connected accounts that donât use a Stripe-hosted Dashboard, and where your platform is responsible for requirements collection and loss liability, also known as a Custom connected account. If this isnât the case, you must create new accounts to use Issuing or Financial Accounts for platforms. You can see your existing accountâs configuration on the Connected accounts page in your Dashboard.
You can also use the API to retrieve the account information and verify that the capabilities property has the Issuing capability requested. The capability wonât be active until all the requirements are fulfilled.
{ "object": "list", "data": [ { "id": "acct_1234", "object": "account", ... "capabilities": { "card_issuing": "inactive", "transfers": "active", }, ... "controller": { "stripe_dashboard": { "type": "none" }, "fees": { "payer": "application" }, "losses": { "payments": "application" }, "is_controller": true, "type": "application", "requirement_collection": "application" }, }, ... ] }
Start the identity verification process
After you create a connected account, you need to provide more information about the account holder. The capability object has a requirements hash that contains currently_ identity verification requirements. The user must provide the details itemized in the requirements hash to enable Issuing capabilities.
If you create a test Account object and want to bypass onboarding requirements to test functionality, use the Accounts update API to provide test values that fulfill all the requirements.
Depending on the business type, the user provides details about the individual, company, non-profit organization, or government entity (Financial Accounts for platforms doesnât support government entities).
Choose one of the following onboarding options:
Collect and verify required information
When you create a connected account and request capabilities, the response returns a list of all required information. To see the requirements specific to a capability, retrieve the account capability and look at requirements..
If you donât intend to allow your connected accounts to pay out an Issuing balance to an external account, then you can ignore requirements past_due for external_.
Here are the requirements to activate the card_ capability:
| FIELD | PARAMETER | ADDITIONAL NOTES |
|---|---|---|
| Legal name | company. | |
| Business address | company. | The address canât be a P.O. box, a Highway Contract (HC) box, or a private mailbox. It must be in the US for US-based accounts, UK for UK-based accounts, or a European country for Europe-based accounts. |
| Business type | business_ | The business type can be company, individual, or non-profit. |
| Company tax ID | company. | |
| Phone | company. | |
| Merchant category code | business_ | |
| URL | business_ | If the user doesnât have a URL, you can provide the business_ instead. |
| Estimated worker count | business_ | An estimated upper bound of your workers (employees, contractors, vendors, and so on) currently working for the business. |
| Annual revenue | business_ | The userâs gross annual revenue for its preceding fiscal year. |
Terms of service |
| Record the connected accounts accepting the Issuing terms of service. |
Representatives and beneficial owners
Companies and non-profit organizations must have at least one Representative thatâs an executive (relationship.) or director (relationship.) with significant responsibility to control, manage, or direct the company.
You must also provide information for any Beneficial Owner who ultimately owns more than 25% of the company.
The key distinction is that a Representative is always required, while the requirement to provide Beneficial Owners is conditional:
- If your company has owners with more than a 25% ownership, you must provide their information.
- If no individual owns more than 25% of the company, you donât need to provide owner details. Instead, you must attest that you provided all applicable owners using the
company.parameter.owners_ provided
Learn more about beneficial owners, representatives, and directors.
| FIELD | PARAMETER | ADDITIONAL NOTES |
|---|---|---|
| Legal name | first_, last_ | |
| Date of birth | dob., dob., dob. | |
| Residential address | address. | The address canât be a P.O. box, a Highway Contract (HC) box, or a private mailbox. It must be in the US for US-based accounts. |
email | Only required for the representative | |
| Title | title | Examples for the title include CEO or Director. Only required for the representative. |
| US Tax ID or last 4 digits of SSN | id_ | Accounts of US-based platforms must provide a social security number, and non-US tax ID numbers or government-issued ID documents arenât accepted as a substitute. You can provide either the full nine-digit social security number (id_) or the last four digits (ssn_) initially. If verification with the last four digits is unsuccessful, then the full nine-digit number is required. |
| ID document scan | verification. | Required only if SSN verification is unsuccessful. See the acceptable verification documents by country. |
Handle new requirements coming due and changes to the capability status
Sometimes after providing all required information, an account might need to provide additional details or documents. These new requirements appear in the requirements.eventually_due array or in requirements.currently_due. Set up your integration to listen for changes to account requirements by using webhooks.
If the capability is already active and the account doesnât satisfy new requirements due on that capability before the current deadline, the capability becomes inactive until the requirements are satisfied.
Document uploads
If an accountâs information canât be verified, Stripe might require a document to verify the identity of a person (for example, a Passport) or to verify information about the legal entity (for example, a letter from the tax authority). To satisfy document requirements, platforms can send the user to Connect Onboarding (where theyâll be prompted to upload the document), or collect the document from the account in another interface and upload it through the API.
Failure to verify identity within 29 days of the initial application
After an account submits all the required information for Issuing and accepts the Issuing terms of service, Stripe considers the application complete. If we canât verify an accountâs information, the capability remains inactive until the account provides additional information or uploads a document.
If the account remains inactive 29 days after completing the application, you must send an email notice to the account informing them that we couldnât verify their identity (see the template).
Stripe monitors for completed applications with unverified identities, and takes the following action after 29 days in live mode and after 1 hour in testing environments:
- Generates an account notice
- Clears the Issuing terms of service acceptance hash so terms acceptance becomes a
currently_requirementdue
You can submit a new application at any time by updating the business information and recording a new acceptance of Issuingâs terms.
Stripe recommends that you present the terms of service as the last step of onboarding, which allows you to track the timing of application completion by referring to the termâs acceptance date.
Terms of service violations
If Stripe identifies a connect account that has violated Stripeâs terms of service, Stripe sets the Issuing capability on the account to inactive, deactivates any cards, and notifies the account (see the email template). This might happen when an accountâs cards are used in relation to prohibited or restricted businesses, such as illegal activities, gambling, firearms, adult content, or cryptocurrencies, or in relation to prohibited activities for Issuing , such as consumer spending, primarily international use, lending, or other abusive or noncompliant use.
Accounts inactive for more than 395 days
Stripe disables issuing on accounts that havenât completed any card transactions in the past 13 months (395 days). For accounts with additional capabilities, Stripe only disables Issuing if there have also been no payments or Financial Accounts for platforms transactions in the prior 395 days, and the Treasury balance is 9.99 USD or less. When Issuing is disabled for inactivity, the Connect accountâs card_issuing capability status changes to inactive and the capability requirements show a disabled_reason of rejected.. Learn more about managing inactive accounts with Issuing.
Create cardholders and cards
A Cardholder object represents an individual or business entity that you can issue cards to. Each cardholder needs to be associated with a connected account to be issued a virtual or physical card. One connected account can have many cardholders.
Learn more about Cardholders and cards.
Add funds
The Issuing balance is separate from the connected accountâs main balance. When issued cards are used for transactions, they draw from the Issuing balance.
Before an issued card can be used for transactions, you must first allocate funds to the connected accountâs Issuing balance associated with the card. An Issuing Balance holds funds reserved for the card and is safely separated from earnings, payouts, and funds from other Stripe products. Learn how to fund connected accounts for Issuing.
Use the Dashboard for Issuing with Connect
View the connected accounts on your platform and create new accounts from the Connected accounts page in the Dashboard. An account might appear as restricted in the Dashboard if requirements are past_ for any of the requested capabilities (including transfers). You can ignore this if card_ is active.
You can also do the following from the dashboard:
- View account activity for a selected account.
- Edit business and personal details for a selected account.
- Create cardholders, cards, or test authorizations on the account. To do so, view your connected account details, then go to Card issuing.
- View program details for a selected account. Follow the above steps to View Dashboard as (account name), then go to Settings, the Issuing section, and click Card programs.
You can also access the Issuing page for a connected account directly by navigating to this URL and replacing {{CONNECT_ with the appropriate value: https://dashboard.
As the platform, only you can view the Dashboard on behalf of your connected accounts. Your connected accounts wonât have a Stripe username or password, or access to the Dashboard.