Issuing spending controls
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 | Type | Description | |
---|---|---|---|
allowed_categories | array | List of categories of authorizations to allow. All other categories will be blocked. | |
blocked_categories | array | List of categories of authorizations to decline. All other categories will be allowed. | |
spending_limits | array | List of objects that specify amount-based rules. | |
allowed_merchant_countries | Beta | array | List of merchant countries to allow authorizations from. Authorizations from all other countries are blocked. |
blocked_merchant_countries | Beta | array | List of merchant countries to block authorizations from. Authorizations from all other countries are allowed. |
allowed_merchant_network_ids | Beta | array | List of merchant IDs to allow. Authorizations from all other merchant IDs are blocked. |
blocked_merchant_network_ids | Beta | array | List 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:
Field | Type | Description |
---|---|---|
amount | integer | Maximum 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. |
interval | enum | Time interval that the amount applies to. See the Card spending_controls for the possible values. All date-based intervals start at midnight UTC. |
categories | array (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.