Card Management Invite Only

    Manage cards issued to your cardholders.

    Physical and virtual cards can be managed using the API or in the Dashboard. You can update billing information, such as the name and address, deactivate or cancel a card so it cannot be used, retrieve virtual card details and provide them to its cardholder, and review events that have occurred.

    Deactivating or canceling cards

    Active cards can be deactivated or canceled to prevent them from being used. A deactivated card can be activated again later, but canceled cards cannot—you must create a new card for the cardholder.

    To deactivate or cancel a card, update the card and change its status to either inactive or canceled.

    curl https://api.stripe.com/v1/issuing/cards/ic_1Cm3paIyNTgGDVfzBqq1uqxR \
       -u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \
       -d status=inactive
    
    # Set your secret key: remember to change this to your live secret key in production
    # See your keys here: https://dashboard.stripe.com/account/apikeys
    Stripe.api_key = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"
    
    card = Stripe::Issuing::Card.retrieve('ic_1Cm3paIyNTgGDVfzBqq1uqxR')
    card.status = 'inactive'
    card.save
    
    # Set your secret key: remember to change this to your live secret key in production
    # See your keys here: https://dashboard.stripe.com/account/apikeys
    stripe.api_key = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"
    
    card = stripe.issuing.Card.retrieve('ic_1Cm3paIyNTgGDVfzBqq1uqxR')
    card.status = 'inactive'
    card.save()
    
    // Set your secret key: remember to change this to your live secret key in production
    // See your keys here: https://dashboard.stripe.com/account/apikeys
    \Stripe\Stripe::setApiKey("sk_test_4eC39HqLyjWDarjtT1zdp7dc");
    
    $card = \Stripe\Issuing\Card::retrieve('ic_1Cm3paIyNTgGDVfzBqq1uqxR');
    $card->status = 'inactive';
    $card->save();
    
    // Set your secret key: remember to change this to your live secret key in production
    // See your keys here: https://dashboard.stripe.com/account/apikeys
    Stripe.apiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc";
    
    Card card = Card.retrieve("ic_1Cm3paIyNTgGDVfzBqq1uqxR");
    Map<String, Object> params = new HashMap<>();
    params.put("status", "inactive");
    
    card.update(params);
    
    // Set your secret key: remember to change this to your live secret key in production
    // See your keys here: https://dashboard.stripe.com/account/apikeys
    var stripe = require("stripe")("sk_test_4eC39HqLyjWDarjtT1zdp7dc");
    
    const card = stripe.issuing.cards.update('ic_1CoYuRKEl2ztzE5GIEDjQiUI', {
      status: 'inactive',
    });
    
    // Set your secret key: remember to change this to your live secret key in production
    // See your keys here: https://dashboard.stripe.com/account/apikeys
    stripe.Key = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"
    
    card, err := card.Update("ic_1CoYuRKEl2ztzE5GIEDjQiUI", &stripe.IssuingCardParams{
      Status: stripe.String(string(stripe.IssuingCardStatusInactive)),
    })
    
    // Set your secret key: remember to change this to your live secret key in production
    // See your keys here: https://dashboard.stripe.com/account/apikeys
    StripeConfiguration.SetApiKey("sk_test_4eC39HqLyjWDarjtT1zdp7dc");
    
    var options = new CardUpdateOptions {
        Status = "inactive",
    };
    
    var service = new CardService();
    Card card = service.Update("ic_1CoYuRKEl2ztzE5GIEDjQiUI", options);
    

    You can reactivate a deactivated card at any time by updating the card again and setting the status to active. Cards can also be activated and deactivated in the Dashboard. Select the card to deactivate and then click Deactivate card. To activate the card again, click Activate card.

    Once a card has expired, its status automatically transitions to canceled. A new card must be issued to the cardholder for them to continue making purchases.

    Retrieving virtual card information

    You can retrieve virtual card details using the API. Virtual card information includes the Card object, containing billing information and expiration date, and the number and cvc attributes.

    curl https://api.stripe.com/v1/issuing/cards/ic_1Cm3paIyNTgGDVfzBqq1uqxR/details \
       -u sk_test_4eC39HqLyjWDarjtT1zdp7dc:
    
    # Set your secret key: remember to change this to your live secret key in production
    # See your keys here: https://dashboard.stripe.com/account/apikeys
    Stripe.api_key = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"
    
    card = Stripe::Issuing::Card.retrieve("ic_1Cm3paIyNTgGDVfzBqq1uqxR")
    card_details = card.details
    
    # Set your secret key: remember to change this to your live secret key in production
    # See your keys here: https://dashboard.stripe.com/account/apikeys
    stripe.api_key = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"
    
    card = stripe.issuing.Card.retrieve('ic_1Cm3paIyNTgGDVfzBqq1uqxR')
    card_details = (card.details)
    
    // Set your secret key: remember to change this to your live secret key in production
    // See your keys here: https://dashboard.stripe.com/account/apikeys
    \Stripe\Stripe::setApiKey("sk_test_4eC39HqLyjWDarjtT1zdp7dc");
    
    $card = \Stripe\Issuing\Card::retrieve('ic_1Cm3paIyNTgGDVfzBqq1uqxR');
    $details = $card->details();
    
    // Set your secret key: remember to change this to your live secret key in production
    // See your keys here: https://dashboard.stripe.com/account/apikeys
    Stripe.apiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc";
    
    Card card = Card.retrieve("ic_1Cm3paIyNTgGDVfzBqq1uqxR");
    
    // Set your secret key: remember to change this to your live secret key in production
    // See your keys here: https://dashboard.stripe.com/account/apikeys
    var stripe = require("stripe")("sk_test_4eC39HqLyjWDarjtT1zdp7dc");
    
    stripe.issuing.cards.retrieveDetails('ic_1CoYuRKEl2ztzE5GIEDjQiUI',
    function (err, details) {
      // asynchronously called
    });
    
    // Set your secret key: remember to change this to your live secret key in production
    // See your keys here: https://dashboard.stripe.com/account/apikeys
    stripe.Key = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"
    
    details, err := Get("ic_1CoYuRKEl2ztzE5GIEDjQiUI", nil)
    
    // Set your secret key: remember to change this to your live secret key in production
    // See your keys here: https://dashboard.stripe.com/account/apikeys
    StripeConfiguration.SetApiKey("sk_test_4eC39HqLyjWDarjtT1zdp7dc");
    
    var service = new CardService();
    CardDetails details = service.Details("ic_1CoYuRKEl2ztzE5GIEDjQiUI")
    
    {
      "object": "issuing.card_details",
      "card": {
        "id": "ic_1Cm3paIyNTgGDVfzBqq1uqxR",
        "object": "issuing.card",
        "authorization_controls": {
          "allowed_categories": null,
          "blocked_categories": null,
          "currency": "usd",
          "max_amount": 10000,
    See all 61 lines "max_approvals": 1 }, "billing": { "address": { "city": "San Francisco", "country": "US", "line1": "1234 Main Street", "postal_code": "94111", "state": "CA" } }, "brand": "Visa", "cardholder": { "id": "ich_1Cm3pZIyNTgGDVfzI83rasFP", "object": "issuing.cardholder", "billing": { "address": { "city": "San Francisco", "country": "US", "line1": "1234 Main Street", "postal_code": "94111", "state": "CA" } "name": "Jenny Rosen" }, "created": 1531159885, "email": "jenny.rosen@example.com", "livemode": false, "metadata": { }, "name": "Jenny Rosen", "phone_number": "+18008675309", "status": "active", "type": "individual" }, "created": 1531159886, "currency": "usd", "exp_month": 8, "exp_year": 2019, "last4": "4242", "livemode": false, "metadata": { }, "name": "Jenny Rosen", "shipping": null, "status": "active", "type": "physical" }, "cvc": "123", "number": "4242424242424242" }

    Reviewing events

    Stripe sends the the issuing_card.created and issuing_card.updated webhook events to notify you whenever a card is created or updated. You can also review the details of card events when viewing a card in the Dashboard.

    There are also additional issuing_cardholder.created and issuing_cardholder.updated events that are sent when a cardholder is created or updated.

    Questions?

    We're always happy to help with code or other questions you might have! Search our documentation, contact support, or connect with our sales team. You can also chat live with other developers in #stripe on freenode.

    Was this page helpful? Yes No

    Send

    Thank you for helping improve Stripe's documentation. If you need help or have any questions, please consider contacting support.