Incremental authorizations
Increase the authorized amount before capturing a payment.
Incremental authorizations allow you to increase the authorized amount on a confirmed PaymentIntent before you capture it. This is helpful if the total price changes or the customer adds goods or services and you need to update the amount on the payment.
Depending on the issuing bank, cardholders might see the amount of the original pending authorization increase in place, or they might see each increment as an additional pending authorization. After capture, the total captured amount appears as one entry.
Availability
When using incremental authorizations, be aware of the following restrictions:
- They’re only available with Visa, Mastercard, or Discover.
- Certain card brands have merchant category restrictions (see below).
- You can only increment a transaction made with the POS and reader fully online.
- You have a maximum of 10 attempts per payment.
Availability by card network and merchant category
Use incremental authorizations on payments that fulfill the criteria below. You can find your user category in the Dashboard.
Attempting to perform an incremental authorization on a payment that doesn’t fulfill the below criteria results in an error.
Card brand | Merchant category |
---|---|
Visa | All user categories |
Mastercard | All user categories |
Discover | Car rental, hotels, local/suburban commuter, passenger transportation, including ferries, passenger railways, bus lines-charter, tour, steamship/cruise lines, boat rentals & lease, grocery stores and supermarkets, electric vehicle charging, eating places and restaurants, drinking places (alcoholic beverages), hotels, motels, resorts, trailer parks & campgrounds, equip/tool/furn/appl rental & leasing, automobile rental agency, truck and utility trailer rentals, motor home and rec vehicle rentals, parking lots, parking meters, and garages, amusement parks, circuses, fortune tell, recreation services (not classified) |
Request incremental authorization supportServer-sideClient-side
When you create a PaymentIntent
, you can request the ability to capture increments of the payment. Set the request_incremental_authorization_support field to true
and the capture_method to manual
. This updates the text from Total
to Pre-authorization
in the payment collection screen.
Confirm the PaymentIntentClient-side
Check the incremental_authorization_supported field in the confirm response to determine if the PaymentIntent
is eligible for incremental authorization.
You can only perform incremental authorizations on uncaptured payments after confirmation. To adjust the amount of a payment before confirmation, use the update method instead.
Perform an incremental authorizationServer-side
To increase the authorized amount on a payment, use the increment_authorization endpoint and provide the updated total amount to increment to, which must be greater than the original authorized amount. This attempts to authorize for the difference between the previous amount and the incremented amount. Each PaymentIntent
can have a maximum of 10 incremental authorization attempts, including declines.
A single PaymentIntent
can call this endpoint multiple times to further increase the authorized amount.
An authorization can either:
- Succeed – Returns the
PaymentIntent
with the updated amount. - Fail – Returns a card_declined error, and the
PaymentIntent
remains authorized to capture the original amount. Updates to otherPaymentIntent
fields (for example, application_fee_amount) aren’t saved.
Capture the PaymentIntentServer-side
To capture the authorized amount on a PaymentIntent
that has prior incremental authorizations, use the capture endpoint. To increase the authorized amount and simultaneously capture that updated amount, provide an updated amount_to_capture.
Providing an amount_
that’s higher than the currently authorized amount results in an automatic incremental authorization attempt.
Note
If you’re eligible to collect on-receipt tips, using an amount_
that’s higher than the currently authorized amount won’t result in an automatic incremental authorization attempt. Capture requests always succeed.
The possible outcomes of an incremental authorization attempt are:
- Succeed – Returns the
captured
PaymentIntent
with the updated amount. - Fail – Returns a card_declined error, and the
PaymentIntent
remains authorized to capture the original amount. Updates to otherPaymentIntent
fields (for example, application_fee_amount) aren’t saved.
Regardless, when using amount_
we recommend that you always check for potential failures.