Skip to content
Sign in
An image of the Stripe logo
Create account
Sign in
Home
Payments
Finance automation
Banking as a service
Developer tools
No-code
All products
Home
Payments
Finance automation
Home
Payments
Finance automation
Banking as a service
Developer tools
Overview
Issuing cards
    Overview
    Global Issuing
    Get started
    How Issuing works
    Choose your card offering
    Customize your program
    Add funds to your card program
    Manage fraud
    Cards
    Create cards
    Virtual cards
    Physical cards
    Manage cards
    Digital wallets
    Replacement cards
    Testing and support
    Testing physical cards
    Support
    Controls
    Spending controls
    Real-time authorizations
    SMS fraud alerts
    3D Secure
    PIN management
    Issuing Elements
    Token Management
    Funding
    Balance
    Issuing with Connect
    Set up an Issuing and Connect integration
    Connect funding
    Connected accounts cardholders and cards
    Purchases
    Authorizations
    Transactions
    Disputes
    Testing
    Merchant categories
    Additional information
    Choose a cardholder type
    Marketing guidance (Europe/UK)
    Product and marketing compliance guidance (US)
Treasury
Business financing
Issuing
·
HomeBanking as a serviceIssuing cards

Issuing spending controls

Learn how to use Issuing to set rules on cards and cardholders to control spending.

You can use spending controls to block merchant categories (for example, bakeries), countries, or merchant IDs, and to set spending limits such as 100 USD per authorization or 3000 USD per month. You can apply them to both Cards and Cardholders either by setting their spending_controls fields when you create them or by updating them later.

The spending_controls object has the following structure:

Field TypeDescription
allowed_categories arrayList of categories of authorizations to allow. All other categories will be blocked.
blocked_categories arrayList of categories of authorizations to decline. All other categories will be allowed.
spending_limits arrayList of objects that specify amount-based rules.
allowed_merchant_countriesBetaarrayList of merchant countries to allow authorizations from. Authorizations from all other countries are blocked.
blocked_merchant_countriesBetaarrayList of merchant countries to block authorizations from. Authorizations from all other countries are allowed.
allowed_merchant_network_idsBetaarrayList of merchant IDs to allow. Authorizations from all other merchant IDs are blocked.
blocked_merchant_network_idsBetaarrayList of merchant IDs to block. Authorizations from all other merchant IDs are allowed.

Spending controls run before real-time authorizations and can decline a purchase before the issuing_authorization.request is sent, resulting in a declined issuing_authorization.created event.

Note

Country and merchant ID spend controls are currently limited to beta users. You must be an Issuing customer to join the beta. To request access to the beta, Contact Stripe for more information.

Spending limits

Spending limit rules limit the total amount of spending for categories over intervals of time.

The spending_limits field within spending_controls is a list of objects that have the following structure:

FieldTypeDescription
amountintegerMaximum spend, in the currency of the card. Amounts in other currencies are converted to the card’s currency when evaluating this control. This amount is in the card’s currency and in the smallest currency unit.
intervalenumTime interval that the amount applies to. See the Card spending_controls for the possible values. All date-based intervals start at midnight UTC.
categoriesarray (optional)List of categories this limit applies to. Omitting this field will apply the limit to all categories.

Note

If you don’t set spending_limits, a default spending limit is applied to the newly created card in the amount of 500 USD per day. Contact Support to disable this behavior.

Note

In addition to the configurable spending_limits, a default spending limit in the amount of 10000 USD is also applied to each authorization. Contact Support to disable this behavior.

A card’s spending limits apply across any cards it replaces (that is, its replacement_for card and that card’s replacement_for card, up the chain). A cardholder’s spending limits apply across all of their cards.

Each spending limit only applies to its own categories. Spending limits alone do not block categories and should be used with either allowed_categories or blocked_categories to restrict spending to specific business types.

If a cardholder has overlapping spending limits (for example, 100 USD per authorization and 50 USD per authorization for their card), the most restrictive spending control applies.

Additional tips and fees can be posted at a later time, causing a spending limit to be exceeded.

Examples

The following examples demonstrate different uses of spending controls for cards and cardholders.

Limit a cardholder's monthly spend across all of their cards

Limit the spend and allowed categories for a card

Limit a card's weekly spend for specific categories

Was this page helpful?
Need help? Contact Support.
Watch our developer tutorials.
Check out our product changelog.
Questions? Contact Sales.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
On this page
Spending limits
Examples
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to your Stripe account and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g. )
The Stripe Shell is best experienced on desktop.
$