Control Card Spend

Define how, where, and how much a card can be used — with flexible limits at both program and card level.

Spend limits allow you to control how cards are used by defining restrictions on transaction amount, frequency, and usage channels. These controls help you minimize risk, enforce financial policies, and manage user-level spending behavior in real time.


How Spend Control Works

Spend limits follow an inheritance and override model, allowing you to enforce global controls while customizing limits for individual cards or users.

LevelScopeWhat It Controls
Card Program LimitsGlobal (Card Program)Defines the maximum allowed spend for all cards under the program.
Card LimitsIndividualDefines custom spend limits for individual cards within program boundaries.

Card Program limits act as upper caps (e.g., max $10,000/day). Card limits allow granular control within those caps


Types of Spend Limits

Limit TypeWhat It ControlsExamples
Velocity LimitsTotal spend over timeDaily, Monthly limits
Transaction LimitsPer transaction amountMin / Max per purchase
Channel LimitsSpend by transaction typeATM, POS, Online

Scenarios

Spend limits are configured via API and enforced in real-time during transaction authorization. Card Program limits act as upper caps, while card-level limits provide granular control within those caps.

sequenceDiagram
    participant App as Your Application
    participant PCE as PCE
    participant Network as Card Network
    participant Merchant as Merchant

    App->>PCE: POST /card/{id}/limit (set limits)
    PCE->>PCE: Validate against Card Program caps
    PCE-->>App: 200 — Limits configured
    
    Note over Merchant,Network: Transaction attempt
    Merchant->>Network: Authorization request
    Network->>PCE: Check spend limits
    PCE->>PCE: Validate amount, count, channel
    alt Within limits
        PCE-->>Network: APPROVED
    else Exceeds limits
        PCE-->>Network: DECLINED — limit exceeded
    end
    Network-->>Merchant: Authorization response

Before you begin (all scenarios)

  • Card is issued and in ACTIVE status.
  • Card Program allows card-level limit configuration.
  • Requested limits are within Card Program maximum caps.

Scenario 1: Set Daily Spending Limit on a Card

Use this scenario to restrict how much a cardholder can spend per day. This is useful for employee expense cards, teen banking, or fraud prevention.

Business Context: A corporate finance team issues employee expense cards with a $750/day limit to prevent large unauthorized purchases.

You'll also need: Card Program supports card-level limits, requested amount is within program caps.

Request

POST /v1/customer/id/48201/issuance/card/id/55903/limit

{
  "limit": {
    "transactionType": "RETAIL",
    "location": "DOMESTIC",
    "amount": "750.00",
    "frequency": "DAILY"
  }
}

All transactions are now checked against the $750/day limit. Daily limits reset at midnight in the cardholder's local timezone.

Scenario 2: Set Transaction Count Limit (ATM Withdrawals)

Use this scenario to restrict the number of ATM withdrawals per day to prevent card skimming attacks and control cash access.

Business Context: A neobank implements a 3 ATM withdrawal/day limit to reduce fraud exposure.

You'll also need: Card Program supports ATM transactions, card has ATM access enabled.

Request

POST /v1/customer/id/{customerId}/issuance/card/id/{cardId}/limit

{
  "limit": {
    "transactionType": "ATM",
    "location": "DOMESTIC",
    "count": 3,
    "amount": "1000.00",
    "frequency": "DAILY"
  }
}

The 4th ATM withdrawal attempt is automatically declined with "daily count exceeded".

Scenario 3: Set Online Purchase Limit

Use this scenario to control e-commerce spending separately from in-store purchases.

You'll also need: Card Program supports online (card-not-present) transactions.

Request

POST /v1/customer/id/{customerId}/issuance/card/id/{cardId}/limit

{
  "limit": {
    "transactionType": "ONLINE",
    "location": "DOMESTIC",
    "amount": "200.00",
    "frequency": "DAILY"
  }
}

Online purchases are now capped at $200/day while in-store limits remain separate.

Scenario 4: Set Customer-Level Limits (Prepaid Cards)

Use this scenario to enforce budget limits across all prepaid cards under a customer.

Business Context: A company issues multiple prepaid cards to a department and wants to enforce a combined $5,000 daily budget across all cards.

You'll also need: Customer is BUSINESS type, Card Program is PREPAID type.

Request

POST /v1/customer/id/{customerId}/issuance/cardProgram/id/{cardProgramId}/limit

{
  "limit": {
    "transactionType": "RETAIL",
    "location": "DOMESTIC",
    "amount": "5000.00",
    "frequency": "DAILY"
  }
}

The $5,000 daily limit is shared across all prepaid cards under this customer.

Scenario 5: Retrieve Current Card Limits

Use this scenario to check current spend limits and usage before making updates or investigating declined transactions.

Request

GET /v1/customer/id/{customerId}/issuance/card/id/{cardId}/limit

The response includes configured limits, used amounts, remaining amounts, and used counts.


Manage Card Spend Limits

Set or update limits at the individual card level for both Debit and Prepaid cards.

Retrieve Card Limits

Use the GET /v1/customer/id/{id}/issuance/card/id/{id}/limit to view current limits for a specific card.

Update Card Limits

Use the POST /v1/customer/id/{id}/issuance/card/id/{id}/limit to configure limits dynamically.

Configurable Parameters:

ParameterRequiredDescription
limit.transactionTypeTransaction category (RETAIL, ATM, ONLINE)
limit.locationGeographical restriction (e.g., DOMESTIC)
limit.countOptionalMaximum number of transactions allowed per day
limit.amountOptionalMaximum total spend allowed per day
limit.frequencyOptionalTime interval for the limit (currently supports DAILY)

Manage Customer Spend Limits

Apply spend limits at the customer level for centralized control across cards.

Available only for Prepaid cards.

Retrieve Customer Limits

Use the GET /v1/customer/id/{id}/issuance/cardProgram/id/{id}/limit to view the customer’s allocated limits.

Update Customer Limits

Use the POST /v1/customer/id/{id}/issuance/cardProgram/id/{id}/limit to update limits for a specific card program.

Configurable Parameters:

ParameterRequiredDescription
limit.transactionTypeTransaction category (RETAIL, ATM, ONLINE)
limit.locationGeographical restriction (e.g., DOMESTIC)
limit.countOptionalMaximum number of transactions allowed per day
limit.amountOptionalMaximum total spend allowed per day
limit.frequencyOptionalTime interval for the limit (currently supports DAILY)

How to Think About Spend Limits

  • Card limits → control individual usage
  • Customer limits (Prepaid) → enforce budget across multiple cards

All limits:

  • Are validated against program constraints
  • Can be updated dynamically via APIs
  • Apply in real-time during transaction authorization

Did this page help you?
.readme-logo { display: none !important; }