Preauthorization hold / incremental authorization

Reserve an estimated card amount now, then raise that same hold as the final bill grows before collecting it.

pre-auth holdincrease the card holdreserve an estimate then raise itthe hotel added more to my pending chargekeep increasing the tabauthorization adjustmentincremental authpreauthorisation holdpreathorization

See it

Live demo coming soon

What it is

When the final bill can grow, start with a preauthorization hold that reserves an estimate without collecting it. An incremental authorization asks the issuer to raise that same hold as the bill grows. Hotels, car rentals, bar tabs, and ride-hailing use this when the final total is not known at the start.

Reach for it when one purchase grows over time and replacing the hold would create confusing duplicate pending charges. Track every approved increment and capture only against the current authorized total.

Gotcha: an increment is another authorization request, not a guaranteed increase. The issuer can decline it, eligibility varies by card and processor, and the hold can still expire before capture. Build a clear fallback for a declined increment and release unused holds promptly.

Ask AI for it

Implement manual capture with Stripe incremental authorization for a growing card tab. Create the PaymentIntent with capture_method 'manual', then call paymentIntents.incrementAuthorization to raise the held amount on the same intent. Store the Stripe authorization id and approved total, record every request and response idempotently, never treat an increment as approved until its webhook or API result confirms it, block capture above the latest approved amount, and add explicit flows for a declined increment, an expiring hold, final capture, and release of unused funds.

You might have meant

authorization and capturepartial capture void refundsettlement payout schedulesoft decline vs hard decline