Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
Start an integration
Products
Global Payouts
Capital
Issuing cards
    Overview
    How Issuing works
    Global availability
    Manage fraud
    Cards
    Choose your card type
    Virtual cards
    Issue virtual cards
    Physical cards
    Manage cards
    Digital wallets
    Replacement cards
    Card programs
    Program management
    Customize your card program
    Add funds to your card program
    Credit Consumer Issuing
    Controls
    Spending controls
    Advanced fraud tools
    3DS
    Fraud challenges
    Real-time authorizations
    PIN management
    Issuing Elements
    Token Management
    Funding
    Balance
    Postfund your integration with Stripe
    Postfund your integration with Dynamic Reserves
    Purchases
    Authorizations
    Transactions
    Disputes
    Testing
    Merchant categories
    ATM Usage
    Issuing with Connect
    Set up an Issuing and Connect integration
    Update terms of service acceptance
    Connect funding
    Connected accounts, cardholders, and cards
    Embed card management UI
    Credit
    Overview
    Set up connected accounts
    Manage credit terms
    Report other credit decisions and manage AANs
    Report required regulatory data for credit decisions
    Manage account obligations
    Test credit integration
    Additional information
    Choose a cardholder type
    Customer support for Issuing and Treasury
    Issuing watchlist
    Marketing guidance (Europe/UK)
    Product and marketing compliance guidance (US)
Treasury
Manage money
HomeMoney managementIssuing cards

Issuing transactions

Learn how to use Issuing to handle transactions.

Copy page

After an authorization is approved and is captured, the status on the authorization is set to closed and a Transaction object is created. This normally happens within 24 hours; however hotels, airlines, and car rental companies are able to capture up to 31 days after authorization.

When an authorization is captured, two things happen.

  • The status on the authorization is set to closed, releasing the purchase amount held by that authorization. A balance transaction of type issuing_authorization_release is created to represent this.
  • A new transaction object of type capture is created. The purchase amount is deducted from the balance you’re using for Issuing.

Spending controls, real time authorization controls, and card status (whether a card is active or not) don’t apply for capture. They can be used to determine whether authorizations are approved, but captures for approved authorizations always succeed.

Handling other transactions

In addition to regular transactions, there are a few other cases that you should be ready to handle.

Businesses in some merchant categories (including vehicle rentals, bars and restaurants, and ground transportation) won’t know the final transaction amount at the time of authorization. These businesses can authorize a card for an amount and then capture funds greater than that amount.

For example, a restaurant often authorizes a charge for the bill amount and then captures an amount that includes the tip. In this case, the authorized amount is a relatively close estimate of the amount to be captured. However, in a case such as ground transportation, the authorized amount is typically a minimal amount, whereas the captured amount reflects the actual transaction by the cardholder.

Sometimes the additional amount captured is excessive and could be the result of fraudulent behavior. It’s up to you (or your cardholder) to recognize when this is the case and dispute illegitimate transactions. Because over capturing is often legitimate, you can’t block these transactions.

Testing

To simulate the capture of an authorization above the authorized amount, you can use the Authorization Capture API in the Issuing test helpers.

Command Line
cURL
curl https://api.stripe.com/v1/test_helpers/issuing/authorizations/
{{AUTHORIZATION_ID}}
/capture
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d capture_amount=1000
Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access program.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc