Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

Issuing spending controls


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, merchant IDs, or card presence, and to set spending limits per authorization or per month. You can apply them to both Cards and Cardholders either by setting their spending_controls parameters when you create them or by updating them later.

Private preview

Merchant ID spending controls is in private preview. You must be an Issuing user to participate. To learn more or request access, contact Stripe.

You can set the following spending_controls parameters:

ParameterTypeDescription
allowed_categoriesarrayList of categories of authorizations to allow. All other categories will be blocked.
blocked_categoriesarrayList of categories of authorizations to decline. All other categories will be allowed.
spending_limitsarrayList of objects that specify amount-based rules.
allowed_merchant_countriesarrayList of merchant countries to allow authorizations from. Authorizations from all other countries are blocked.
blocked_merchant_countriesarrayList of merchant countries to block authorizations from. Authorizations from all other countries are allowed.
allowed_card_presencesarrayList of card presences that are allowed. Authorizations with other card presence statuses are blocked.
blocked_card_presencesarrayList of card presences that are blocked. Authorizations with other card presence statuses 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.

Spending limits

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

The spending_limits parameter of spending_controls is a set of specifications with the following structure:

PropertyTypeDescription
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.

Stripe automatically applies the following limits, which you can contact support to disable:

  • If you don’t set spending _ limits , a default spending limit of 500 USD per day applies to the newly created card.
  • In addition to the card spending limits you configure, an unconfigurable default spending limit of 10000 USD also applies to each authorization.

Spending aggregation is done on a best-effort basis. You might notice a delay of up to 30 seconds between spend occurrence and spend aggregation.

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

Each spending limit only applies to its own categories. Spending limits alone don’t 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

Command Line

Select a language

cURL

Stripe CLI

Ruby

Python

PHP

Java

Node.js

Go

.NET

No results

Limit the spend and allowed categories for a single card

Command Line

Select a language

cURL

Stripe CLI

Ruby

Python

PHP

Java

Node.js

Go

.NET

No results

Limit a card’s weekly spend for specific categories

Command Line

Select a language

cURL

Stripe CLI

Ruby

Python

PHP

Java

Node.js

Go

.NET

No results

Limit a card’s presence

Command Line

Select a language

cURL

Stripe CLI

Ruby

Python

PHP

Java

Node.js

Go

.NET

No results

Last verified 2026-09-24

Is this helpful?