Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
Overview
About Stripe payments
Upgrade your integration
Payments analytics
Online payments
OverviewFind your use caseManaged Payments
Use Payment Links
Build a checkout page
Build an advanced integration
Build an in-app integration
Payment Methods
Add payment methods
Manage payment methods
Faster checkout with Link
Payment interfaces
Payment Links
Checkout
Web Elements
In-app Elements
Payment scenarios
Handle multiple currencies
Custom payment flows
Flexible acquiring
    Overview
    Capture a payment multiple times
    Capture more than the authorised amount on a payment
    Place an extended hold on an online card payment
    Increment an authorisation
    Partially authorise a payment
    Migrate from beta
Orchestration
In-person payments
Terminal
Beyond payments
Incorporate your company
Crypto
Financial Connections
Climate
HomePaymentsFlexible acquiring

Capture more than the authorised amount on a payment

Use overcapture to capture more than the authorised amount for a PaymentIntent.

Overcapture allows you to capture with an amount that’s higher than the authorised amount for a card payment. Unlike incremental authorisations, overcapture doesn’t result in additional authorisations with the card networks. When you overcapture a PaymentIntent, your customer won’t see any immediate updates on their credit card statement. After the captured amount settles, the initial pending authorisation gets updated with the final captured amount.

Availability

When using overcapture, be aware of the following restrictions:

  • Only available with Visa, Mastercard, American Express, or Discover.
  • Only eligible for online card payments. For in-person card payments see how to collect tips.
  • Card brands limit the amount that you can overcapture (generally calculated as a percentage of the authorised amount), and impose additional constraints, including country, card type, and merchant category restrictions (see below).

IC+ feature

We offer overcapture to users on IC+ pricing. If you’re on standard Stripe pricing and want access to this feature, learn more at support.stripe.com.

Availability by card network, merchant country, and merchant category

Card brandMerchant countryMerchant categoryPercent limit
Visa*GlobalTaxicabs and limousines; eating places and restaurants; drinking places (alcoholic beverages); fast food restaurants; beauty and barber shops; health and beauty spas+20%
GlobalCar rentalsGreater of +15% or +75 USD (or local currency equivalent)
GlobalLodging; cruise lines+15%
Global**All other merchant categories+15%
MastercardUS***Eating places and restaurants; fast food restaurants+30%
American ExpressGlobal****Eating places and restaurants; drinking places (alcoholic beverages); fast food restaurants+30%
GlobalTaxicabs and limousines; beauty and barber shops; health and beauty spas+20%
GlobalLodging; car rentals; lorry and utility trailer rentals; motor home and recreational vehicle rentals; grocery stores; retail stores+15%
DiscoverGlobalTaxicabs and limousines; eating places and restaurants; drinking places (alcoholic beverages); fast food restaurants; beauty and barber shops; health and beauty spas+20%
GlobalLodging; car rentals+15%

  • Excludes merchants in the European Economic Area (EEA)
  • ** For cardholder-initiated transactions

    *** Card must also be issued in the United States

    **** The percent limit for debit and prepaid card payments is 20%

    Networks with limited support (beta)

    Overcapture with Strong Customer Authentication (SCA)

    If you and the cardholder are in a country that has Strong Customer Authentication (SCA) requirements, keep in mind the limitations of overcapture availability.

    • Under SCA requirements, you generally need to authenticate an amount that’s greater than or equal to the amount that you eventually capture. For this reason, you need to authenticate and authorise for the highest estimated amount that you plan to capture, rather than using overcapture as outlined elsewhere on this page. Subsequently, you can capture up to the full amount authenticated, depending on the total amount for the goods or services provided. If you find it necessary to capture an amount beyond the originally authorised and authenticated amount, you must cancel the original payment and create a new one with the correct amount. However, there are some exceptions to this requirement (see below).
    • There are a number of transaction exemptions for SCA where overcapture might be permissible. For example, merchant-initiated transactions (MIT) where the customer isn’t physically present during the checkout flow are potentially exempt. See when to categorise a transaction as MIT.

    You need to familiarise yourself with the complete documentation to gain a comprehensive understanding of overcapture and SCA requirements. See our SCA guide for more information.

    Compliance

    You’re responsible for your compliance with all applicable laws, regulations, and network rules when using overcapture. Make sure you review the rules for the card networks that you plan to use this feature with to make sure your sales comply with the applicable rules, which vary by network. For example, some card networks don’t allow overcapture for transactions where the final transaction amount should be known at the time of authorisation.

    The information provided on this page relating to your compliance with these requirements is for your general guidance, and isn’t legal, tax, accounting, or other professional advice. Consult a professional if you’re unsure about your obligations.

    Create and confirm an uncaptured PaymentIntent

    You can only perform overcapture on uncaptured payments after PaymentIntent confirmation. To indicate you want to separate the authorisation and capture, specify the capture_method as manual when creating the PaymentIntent. To learn more about separate authorisation and capture, see how to place a hold on a payment method.

    You must specify the PaymentIntents you plan to overcapture by using if_available with the request_overcapture parameter.

    Command Line
    cURL
    curl https://api.stripe.com/v1/payment_intents \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d amount=1000 \ -d currency=usd \ -d "payment_method_types[]"=card \ -d payment_method=pm_card_visa \ -d confirm=true \ -d capture_method=manual \ -d "expand[]"=latest_charge \ -d "payment_method_options[card][request_overcapture]"=if_available

    Look at the overcapture.status field on the latest_charge in the PaymentIntent confirmation response to determine if overcapture is available for the payment based on availability. If available, the maximum_amount_capturable field indicates the maximum amount capturable for the PaymentIntent. If unavailable, the maximum_amount_capturable is the amount authorised.

    // PaymentIntent response { "id": "pi_xxx", "object": "payment_intent", "amount": 1000, "amount_capturable": 1000, "amount_received": 0, "status": "requires_capture", ... // if latest_charge is expanded "latest_charge": { "id": "ch_xxx", "object": "charge", "payment_method_details": { "card": { "amount_authorized": 1000 "overcapture": { "status": "available", // or "unavailable" "maximum_amount_capturable": 1200 } } } ... } ... }

    Capture the PaymentIntent

    To capture more than the currently authorised amount on a PaymentIntent, use the capture endpoint and provide an amount_to_capture up to the maximum_amount_capturable.

    If you need to capture an amount larger than the maximum_amount_capturable, perform an incremental authorisation to increase the authorised amount, where available.

    Command Line
    cURL
    curl https://api.stripe.com/v1/payment_intents/pi_xxx/capture \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d amount_to_capture=1200 \ -d "expand[]"=latest_charge

    The amount_capturable and amount_received fields update accordingly in the PaymentIntent capture response for a successful overcapture. The captured PaymentIntent that returns has an updated amount to reflect the total monetary amount moved for this payment. Use the amount_authorized field on the associated Charge to reference the initial amount authorised for a successfully overcaptured payment.

    // PaymentIntent response { "id": "pi_xxx", "object": "payment_intent", "amount": 1200, "amount_capturable": 0, "amount_received": 1200, "status": "succeeded", ... // if latest_charge is expanded "latest_charge": { "id": "ch_xxx", "object": "charge", "payment_method_details": { "card": { "amount_authorized": 1000, "overcapture": { "maximum_amount_capturable": 1200, "status": "available" // or "unavailable" } } } ... } ... }

    Test your integration

    Use the Stripe test cards below with any CVC and future expiry date to request and perform overcaptures while testing. If overcapture is available on payments for a given network while testing, it’s also available on live payments.

    Card brandNumberPayment method
    Visapm_card_visa
    Mastercardpm_card_mastercard
    Amexpm_card_amex
    Discoverpm_card_discover
    Was this page helpful?
    YesNo
    Need help? Contact Support.
    Join our early access programme.
    Check out our changelog.
    Questions? Contact Sales.
    LLM? Read llms.txt.
    Powered by Markdoc