Create an initial PaymentIntent with 'capture_method: manual' for the estimated reservation amount; confirm it to place the hold.
When the cardholder extends their stay or incurs additional charges, use the PaymentIntent update endpoint to increase the 'amount' field — this triggers an incremental authorization request to the issuer for the additional amount.
Check the PaymentIntent response after the update to confirm the incremental auth was accepted; if the issuer declines the increment, you may need to capture what was authorized and create a new PaymentIntent for the additional amount.
Keep track of the authorization expiry — most card networks allow extended authorization windows for lodging MCCs (often up to 31 days), but verify your specific MCC eligibility with Stripe.
At checkout, capture the final total amount (which can be equal to or less than the total authorized); Stripe submits the capture to the network.
Cancel any remaining uncaptured authorization residual after capture to release the hold promptly.
Known gotchas
Incremental authorization support varies by issuer and card type — some issuers decline incremental auth requests even for eligible MCCs; always have a fallback strategy for declined increments.
Stripe's incremental authorization feature may require specific plan access or account enablement — confirm availability with Stripe support before building the integration.
Each incremental auth update generates a new authorization record in the network; if a cardholder disputes the hold amount, you may need to reconcile multiple authorization events for the same stay.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp