Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
Get started with Connect
Integration fundamentals
Example integrations
Onboard accounts
Configure account Dashboards
    Get started with Connect embedded components
    Customize Connect embedded components
    Supported Connect embedded components
      Available Components
      Account management
      Account onboarding
      Balances
      Documents
      Financial account
      Financial account transactions
      Issuing card
      Issuing cards list
      Notification banner
      Payment details
      Payments
      Payouts
      Payouts list
      Tax registrations
      Tax settings
      Preview components
      App install
      App viewport
      Capital financing
      Capital financing application
      Capital financing promotion
      Disputes for a payment
      Export Tax Transactions
      Payment method settings
      Reporting chart
    Stripe Dashboard customization
    Platform controls for Stripe Dashboard accounts
    Express Dashboard
Accept payments
Pay out to accounts
Manage your Connect platform
Tax forms for your Connect platform
Work with connected account types
HomePlatforms and marketplacesConfigure account DashboardsSupported Connect embedded components

Issuing cards list

Show a table of all issued cards.

Copy page

Issuing cards list renders a table view of all the cards issued to your connected accounts.

The permission boundary for this component is at the connected account level, not at the individual card level. This UI should be shown to users that have access to all cards, not to users that have restricted access to a single card.

When creating an Account Session, enable the Issuing cards list component by specifying issuing_cards_list in the components parameter. You can enable or disable individual features of the Issuing cards list component by specifying the features parameter under issuing_cards_list.

Command Line
cURL
curl https://api.stripe.com/v1/account_sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d account=
{{CONNECTED_ACCOUNT_ID}}
\ -d "components[issuing_cards_list][enabled]"=true \ -d "components[issuing_cards_list][features][card_management]"=true \ -d "components[issuing_cards_list][features][cardholder_management]"=true \ -d "components[issuing_cards_list][features][card_spend_dispute_management]"=true \ -d "components[issuing_cards_list][features][spend_control_management]"=true

After creating the account session and initializing ConnectJS, you can render the Issuing cards list component in the front end:

issuing-cards-list.js
JavaScript
// Include this element in your HTML const issuingCardsList = stripeConnectInstance.create('issuing-cards-list'); issuingCardsList.setShowSpendControls(true); container.appendChild(issuingCardsList);

Disable Stripe user authentication

Use the disable_stripe_user_authentication feature to control whether the component requires Stripe user authentication. By default, this parameter is false. This value can only be true for accounts where controller.requirement_collection is application.

We recommend implementing 2FA or equivalent security measures as a best practice. For account configurations that support this feature, such as Custom accounts, you assume liability for connected accounts if they can’t pay back negative balances.

Set spending controls

You can use Issuing Connect embedded components to view and, optionally, edit spending controls on your cards by turning on the Issuing component’s showSpendControls attribute.

JavaScript
const issuingCardsList = stripeConnectInstance.create('issuing-cards-list'); issuingCardsList.setShowSpendControls(true); document.body.appendChild(issuingCardsList);

To enable editing spend controls in the component, pass spend_control_management: true as a feature when you create an AccountSession.

Command Line
cURL
curl https://api.stripe.com/v1/account_sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d account=
{{CONNECTED_ACCOUNT_ID}}
\ -d "components[issuing_cards_list][enabled]"=true \ -d "components[issuing_cards_list][features][spend_control_management]"=true

Sensitive data display

Issuing Connect embedded components integrate with Issuing Elements to provide a PCI-compliant way for you to allow your admins to view card numbers (PANs) and CVV or CVCs for virtual cards. The sensitive data renders inside Stripe-hosted iframes and never touches your servers.

The components can use an ephemeral key to securely retrieve card information from the Stripe API without publicly exposing your secret keys.

To enable this functionality you must:

  1. Set up an ephemeral key exchange on your server.
  2. Pass an asynchronous callback to the components.

Stripe generates a nonce from the Card ID in the Issuing Card or Issuing Cards List component when a card is selected or loaded. Stripe then calls your callback function which returns an ephemeral key, and then renders a Show numbers button if the ephemeral key is valid.

Ephemeral key exchange

Your server-side endpoint needs to accept a Card ID and a nonce. It can then create an ephemeral key using Stripe.

Here’s how you might implement an ephemeral key creation endpoint in web application frameworks across various languages:

server.js
Node
// This example sets up an endpoint using the Express framework. // Watch this video to get started: https://youtu.be/rPR2aJ6XnAc const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.urlencoded({ extended: true })); const stripe = require('stripe')(
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
); app.post('/ephemeral-keys', async (request, response) => { const { card_id, nonce } = request.body; const ephemeralKey = await stripe.ephemeralKeys.create({ nonce: nonce, issuing_card: card_id, }, { apiVersion: '2025-04-30.basil', stripeAccount: '{{CONNECTED_ACCOUNT_ID}}', }); response.json({ ephemeralKeySecret: ephemeralKey.secret, nonce: nonce, issuingCard: card_id, }); });

Asynchronous callback

You must define an asynchronous function that accepts a named argument with property issuingCard which is a Card ID and additionally, a nonce property. This function must return an Object with properties issuingCard, nonce, and ephemeralKeySecret which are retrieved from the endpoint you set up in the previous step.

Here’s how you might implement this callback:

JavaScript
const issuingCard = stripeConnectInstance.create('issuing-card'); const fetchEphemeralKey = async (fetchParams) => { const { issuingCard, nonce } = fetchParams; // This may vary greatly based on your implementation const response = await myServer.getEphemeralKey({issuingCard, nonce}) return { issuingCard: response.issuingCard, nonce: response.nonce, ephemeralKeySecret: response.ephemeralKeySecret } } issuingCard.setFetchEphemeralKey(fetchEphemeralKey); document.body.appendChild(issuingCard);
Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access program.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc