# Create physical cards Create a cardholder and issue a physical card. You can use the [Dashboard](https://dashboard.stripe.com/issuing/cards) or the [Create a card](https://docs.stripe.com/api/issuing/cards.md) endpoint to issue your standard and custom bundles to cardholders. If we approve your design, any card you create is sent to the card printer for fulfilment. If your design is still under review, we send cards for fulfilment after we approve the design. This applies only when you add an additional logo to the card or text to the standard carriers. Otherwise, we send cards for fulfilment without additional review. ## Create a cardholder You can use the [Dashboard](https://dashboard.stripe.com/issuing/cardholders) or the [Cardholders API](https://docs.stripe.com/api/issuing/cardholders.md) to create a cardholder. > For stablecoin-backed consumer card programs, Bridge manages cardholder creation and identity verification. See the [Bridge documentation](https://apidocs.bridge.xyz/platform/cards/overview/kyc) for details. # Dashboard > This is a Dashboard for when testing-method is without-code. View the full page at https://docs.stripe.com/issuing/cards/physical/issue-cards?testing-method=without-code. 1. Visit the [Cardholders tab](https://dashboard.stripe.com/issuing/cardholders) in the Issuing Dashboard. 1. Click **Create cardholder** on the upper right. 1. Select cardholder type: individual or company. The full set of valid characters for both cardholder name and business name are alphabetical characters, spaces, and `-,.'` special characters. There’s a 24-character limit. 1. Add a billing address. 1. If you’re creating a company card, add the tax ID number. 1. Add contact information, which is required for certain features like digital wallets. 1. Click **Create cardholder**. ### Individual type cardholder requirements When you select the individual cardholder type, you must add the cardholder’s legal first and last name and [date of birth](https://docs.stripe.com/api/issuing/cardholders/create.md#create_issuing_cardholder-individual-dob). Consider uploading [government-issued ID](https://docs.stripe.com/api/issuing/cardholders/create.md#create_issuing_cardholder-individual-verification), which may help reduce [watchlist reviews](https://support.stripe.com/questions/issuing-watchlist-reviews). If you issue cards to individuals for programmes backed by Cross River Bank, you must record acceptance of the [Cross River Bank Authorised User Terms](https://stripe.com/legal/issuing/crb-authorized-user-terms) before [activating](https://docs.stripe.com/issuing/cards/physical/issue-cards.md?testing-method=without-code#activate-the-card) a card for that cardholder. See the [Required Agreements for Issuing and Treasury for platforms](https://docs.stripe.com/issuing/compliance-us.md) for more information about which agreements you must present to account holders and cardholders. ### Company type cardholder requirements When you add a company name, ensure that it has a minimum of two words, for example: Stripe Inc. ## Create a card You can use the [Dashboard](https://dashboard.stripe.com/issuing/cards) to create a new card. 1. Visit the [Cards tab](https://dashboard.stripe.com/issuing/cards) in the Issuing Dashboard. 1. Click **Create card** on the upper right. 1. Search for the cardholder you created in [Create a cardholder](https://docs.stripe.com/issuing/cards/physical/issue-cards.md#create-cardholder). 1. Select **Physical** for the type. 1. Search for the personalisation design you created in [Create a design](https://docs.stripe.com/issuing/cards/physical/create-design.md) to select the desired physical bundle design for this cardholder. 1. If your physical bundle supports a second line on the card, you can enter one in the second line input to add the information. This is typically used for business names. 1. Add shipping information. For more details, see [Ship cards](https://docs.stripe.com/issuing/cards/physical/ship-cards.md). 1. Click **Create**. # API > This is a API for when testing-method is with-code. View the full page at https://docs.stripe.com/issuing/cards/physical/issue-cards?testing-method=with-code. The [Cardholder](https://docs.stripe.com/api/.md#issuing_cardholder_object) object represents an individual or business entity that you can issue cards to. Create a `Cardholder` with a [name](https://docs.stripe.com/api/issuing/cardholders/object.md#issuing_cardholder_object-name) to display on cards and the [billing](https://docs.stripe.com/api/issuing/cardholders/object.md#issuing_cardholder_object-billing) address. Billing address is often requested when the cardholder makes online purchases, and is usually the business address of the connected account or your platform. When you create a cardholder, or update it later, you can include additional information such as a `phone_number` or `email`, which are required for some features like [digital wallets](https://docs.stripe.com/issuing/cards/digital-wallets.md). You can also specify [preferred_locales](https://docs.stripe.com/api/issuing/cardholders/object.md#issuing_cardholder_object-preferred_locales) to customise the cardholder’s language for features such as [3D Secure](https://docs.stripe.com/issuing/3d-secure.md). #### curl ```bash curl https://api.stripe.com/v1/issuing/cardholders \ -u <>: \ -d "name"="Jenny Rosen" \ -d "email"="jenny.rosen@example.com" \ -d "phone_number"="+18008675309" \ -d "status"="active" \ -d "type"="individual" \ -d "individual[first_name]"="Jenny" \ -d "individual[last_name]"="Rosen" \ -d "individual[dob][day]"=1 \ -d "individual[dob][month]"=11 \ -d "individual[dob][year]"=1981 \ -d "billing[address][line1]"="123 Main Street" \ -d "billing[address][city]"="San Francisco" \ -d "billing[address][state]"="CA" \ -d "billing[address][postal_code]"="94111" \ -d "billing[address][country]"="US" ``` Stripe returns a `Cardholder` object that contains the information you provided and sends the `issuing_cardholder.created` [webhook](https://docs.stripe.com/webhooks.md) event. ### Individual type cardholder requirements The cardholder [type](https://docs.stripe.com/api/issuing/cardholders/object.md#issuing_cardholder_object-type) defaults to `individual`, but you can [set the type](https://docs.stripe.com/issuing/other/choose-cardholder.md) to `company` if you choose. You must provide values for the first and [last names](https://docs.stripe.com/api/issuing/cardholders/create.md#create_issuing_cardholder-individual-last_name) of individual cardholders, which Stripe screens in accordance with regulatory guidelines. Consider also providing [date of birth](https://docs.stripe.com/api/issuing/cardholders/create.md#create_issuing_cardholder-individual-dob), which might help reduce [watchlist reviews](https://support.stripe.com/questions/issuing-watchlist-reviews). ### Accept authorised user terms If you’re issuing cards to individuals for programmes backed by Celtic Bank, you must record acceptance of the [Celtic Bank Authorised User Terms](https://stripe.com/legal/issuing/celtic-authorized-user-terms) before [activating](https://docs.stripe.com/issuing/cards/physical/issue-cards.md#activate-the-card) a card for that cardholder. See the [Required Agreements for Issuing and Treasury for platforms](https://docs.stripe.com/issuing/compliance-us.md) for more information about which agreements you’re required to present to accountholders and cardholders. If applicable, Stripe alerts you to this requirement in the `requirements` property of the `Cardholder` object: ```json { "id": "{{CARDHOLDER_ID}}", "name": "Jenny Rosen", ... "requirements": { "disabled_reason": "requirements.past_due", "past_due": [ "individual.card_issuing.user_terms_acceptance.date", "individual.card_issuing.user_terms_acceptance.ip" ] }, ... } ``` You can accept the terms on behalf of the `Cardholder` by passing in the Unix timestamp of when the cardholder accepted their terms and also their IP address. ```curl curl https://api.stripe.com/v1/issuing/cardholders/{{ISSUINGCARDHOLDER_ID}} \ -u "<>:" \ -d "individual[card_issuing][user_terms_acceptance][date]=1470266163" \ -d "individual[card_issuing][user_terms_acceptance][ip]=91.121.146.224" ``` When you’ve met the requirements for card activation (such as first and last names, plus proof of user terms acceptance) you can activate cards for them. ## Create a card Create a [Card](https://docs.stripe.com/api.md#issuing_card_object) and assign it to the cardholder. This request contains the ID of the `Cardholder` object, `currency`, the ID of a `Personalization Design` object, a sample shipping address, and `physical` for the card type. #### Issuing-only ```curl curl https://api.stripe.com/v1/issuing/cards \ -u "<>:" \ -d "cardholder={{ISSUINGCARDHOLDER_ID}}" \ -d currency=usd \ -d type=physical \ -d personalization_design=ipcd_OhggKRta0zu2Te \ -d "shipping[name]=Jenny Rosen" \ -d "shipping[address][line1]=123 Main St" \ -d "shipping[address][city]=San Francisco" \ -d "shipping[address][state]=CA" \ -d "shipping[address][postal_code]=94111" \ -d "shipping[address][country]=US" ``` #### Issuing with Treasury for platforms To create a card that draws funds from a [FinancialAccount](https://docs.stripe.com/api/treasury/financial_accounts.md), pass `financial_account` in the request. ```curl curl https://api.stripe.com/v1/issuing/cards \ -u "<>:" \ -d "cardholder={{ISSUINGCARDHOLDER_ID}}" \ -d financial_account=fa_1KsZDkACgxNDEoMCVZko5z5F \ -d currency=usd \ -d type=physical \ -d personalization_design=ipcd_OhggKRta0zu2Te \ -d "shipping[name]=Jenny Rosen" \ -d "shipping[address][line1]=123 Main St" \ -d "shipping[address][city]=San Francisco" \ -d "shipping[address][state]=CA" \ -d "shipping[address][postal_code]=94111" \ -d "shipping[address][country]=US" ``` #### Issuing with Stablecoin Financial Accounts To create a physical card backed by a stablecoin Financial Account, pass `financial_account_v2` in the request. ```curl curl https://api.stripe.com/v1/issuing/cards \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "cardholder={{ISSUINGCARDHOLDER_ID}}" \ -d "financial_account_v2={{FINANCIALACCOUNTID_ID}}" \ -d currency=usd \ -d type=physical \ -d personalization_design=ipcd_OhggKRta0zu2Te \ -d "shipping[name]=Jenny Rosen" \ -d "shipping[service]=express" \ -d "shipping[address][line1]=123 Main St" \ -d "shipping[address][city]=San Francisco" \ -d "shipping[address][state]=CA" \ -d "shipping[address][postal_code]=94111" \ -d "shipping[address][country]=US" ``` Stripe returns a `Card` object upon creation, and sends the `issuing_card.created` [webhook](https://docs.stripe.com/webhooks.md) event. ### Expiry date Physical cards default to an expiry date 4 years in the future, randomised by up to 3 months for security. The expiry date can fall between 3 years and 9 months and 4 years and 3 months from issuance. > When you issue a [replacement card](https://docs.stripe.com/issuing/cards/replacements.md), we set a different expiry date to prevent two identical cards. #### Set custom expiry Set the expiry year ([exp_year](https://docs.stripe.com/api/issuing/cards/create.md#create_issuing_card-exp_year)) and expiry month ([exp_month](https://docs.stripe.com/api/issuing/cards/create.md#create_issuing_card-exp_month)) during card creation to control the card’s expiry date. The expiry date must be at least 1 month and less than 5 years in the future. For example, if it’s April 2024, set a date between May 2024 and March 2029, inclusive. > You must specify the desired expiry date again when you issue a [replacement card](https://docs.stripe.com/issuing/cards/replacements.md), or the new card might revert to the default expiry date. ## Activate the card For [authorisations](https://docs.stripe.com/issuing/purchases/authorizations.md) to be approved on a card, its `status` must be set to `active`. Overdue [requirements](https://docs.stripe.com/api/issuing/cardholders/object.md#issuing_cardholder_object-requirements-past_due) block card activation. ### Activate on creation You can activate the card when creating it using the Dashboard or the API. In the Dashboard, when creating a card, click **Activate card**. Using the API, set `status` to `active` when using the [create card](https://docs.stripe.com/api/.md#create_issuing_card) endpoint. ### Activate after creation Alternatively, after creating an inactive card, you can activate it using the Dashboard or the API. To activate it using the Dashboard, select the card you want to activate, then click **Activate card**. To activate it using the API, use the [update card](https://docs.stripe.com/api.md#update_issuing_card) endpoint to set its `status` to `active`. ```curl curl https://api.stripe.com/v1/issuing/cards/{{ISSUINGCARD_ID}} \ -u "<>:" \ -d status=active ``` ### Re-activate after blocking In some cases, multiple incorrect PIN attempts on a transaction deactivates a card, preventing further authorisations. To reactivate the card, use the Dashboard or the [update card](https://docs.stripe.com/api.md#update_issuing_card) API to set the card’s `status` to `active`.