Stripe Security Deposit: The 2026 Guide
Everything you need to collect a Stripe security deposit in 2026 — how pre-authorization holds work, how long you can hold funds, what the Extended Authorizations feature changed, fees, code samples, and the no-code PayRequest alternative.
Short Answer
Yes, Stripe lets you collect a security deposit using a PaymentIntent with capture_method: manual. This places a pre-authorization hold on the customer's card — the funds are reserved but not charged until you capture. You can now hold up to 30 days (Stripe Extended Authorizations); the standard default is 7 days. After the stay, rental, or event you either capture part, capture all, or let the hold expire and release the funds.
- ✓Hold funds: Place an authorization on a card without charging
- ✓Hold up to 30 days: With Stripe Extended Authorizations (standard is 7 days)
- ✓Partial capture: Charge only what you need, release the rest automatically
- ✓No fee if not captured: You only pay Stripe fees on the captured amount
What Is a Stripe Security Deposit?
A Stripe security deposit is a pre-authorization hold placed on a customer's credit or debit card through a Stripe PaymentIntent with capture_method set to manual. The funds are reserved on the card — invisible to the customer's available balance — but no money moves until you capture the amount you're owed. If the rental, stay, or booking ends without damage, you release the hold and the customer never sees a charge.
Under the hood this is the same mechanism hotels have used for decades when they imprint your card on check-in. The difference online is that the card network enforces the hold automatically, the capture or release happens from a dashboard or API, and the whole workflow is auditable. For businesses that collect deposits online — vacation rentals, car rentals, equipment rental, event venues, photography studios, boats — it's the closest thing to a 'refundable deposit' that doesn't require moving money twice.
Historically Stripe capped authorizations at 7 days for most merchant categories. In 2024 Stripe rolled out the Extended Authorizations feature which allows certain merchants to hold funds for up to 30 days on Visa (29 days 18 hours precisely) and Mastercard cards. That's the single most important change for deposit workflows in the last five years, and it's why this guide is worth re-reading if you set up your flow before 2024.
The 5 Ways to Collect a Deposit on Stripe
Stripe supports five distinct deposit patterns. Most businesses pick one and stick with it, but knowing all five helps you pick the right one for your use case — and helps you recognize when to combine them.
Pre-authorization (Auth & Capture)
Hold funds on a customer's card without charging. Capture later or let the hold expire.
Extended Authorizations (up to 30 days)
The 2024 feature that extends the standard 7-day hold to a 30-day window.
Partial capture
Authorize a full deposit, capture only what you need for damages or fees.
Upfront deposit + balance
Charge a partial deposit now, charge the remainder later as a separate transaction.
Refundable deposit (charge then refund)
Charge the full amount, refund it after the service is complete.
Compare the 5 Deposit Methods
At a glance — how the five methods differ on the four variables that matter most: whether the customer is actually charged, whether money sits in your account, whether a refund is needed afterwards, and what the time limits are.
| Method | Charges customer? | Funds in account? | Refund needed? | Time limit | Fees |
|---|---|---|---|---|---|
| Pre-authorization (standard) | No (hold only) | No | No | 7 days | No fee if not captured |
| Extended Authorizations | No (hold only) | No | No | Up to 30 days | 0.08% for non-eligible MCCs (IC+ required) |
| Partial capture | Partial | Yes (captured amount) | No | Same as authorization | Fee on captured amount only |
| Deposit + balance | Partial now, rest later | Partial | No | None | Full fee on each charge |
| Charge + refund | Yes (full) | Yes (then refunded) | Yes | None | Full fee + refund fee may apply |
How to Set Up a Stripe Security Deposit
There are three realistic ways to set up a Stripe security deposit in 2026: the Stripe Dashboard with Payment Links, the Stripe API with a PaymentIntent, or a no-code platform like PayRequest that wraps the whole thing in a hosted checkout. Which one you pick depends mostly on how much engineering time you want to spend.
Method 1: Stripe Dashboard (no code, limited)
The Stripe Dashboard lets you create Payment Links in a few clicks, but Payment Links do not support manual capture out of the box. What this means in practice: you cannot collect a real pre-authorization hold from a plain Payment Link — the charge goes through immediately. If you need an actual hold via the Dashboard, you have to use the 'Create a payment' form inside Dashboard → Payments → Payments, switch the capture method to Manual, and send the hosted invoice URL to your customer. This works but it's cumbersome for high volume.
Method 2: Stripe API (full control, code required)
With the API you have full control. The minimal example is a PaymentIntent created with capture_method: 'manual' and, if you want the 30-day window, payment_method_options.card.request_extended_authorization: 'if_available'. When the customer confirms, Stripe places the hold. When you're ready to capture, you call POST /v1/payment_intents/{id}/capture with an optional amount_to_capture parameter for partial capture. You'll need a Stripe account with the Extended Authorizations capability activated (self-serve for eligible merchant categories, application-based for others).
Method 3: PayRequest (no code, full features)
The no-code option. Connect your Stripe account to PayRequest, toggle 'pre-authorization hold' on a payment request, share the link. The hosted checkout handles the 3D Secure challenge, places the hold via Stripe's API behind the scenes, and surfaces the authorization in a simple dashboard where you capture part, capture all, or let it expire. Works with both standard 7-day holds and Extended Authorizations depending on your Stripe account settings. Price is €20/month flat, no per-transaction fee from PayRequest on top of Stripe's fees.
Common Use Cases for Stripe Security Deposits
Across PayRequest's customer base these are the industries that rely on Stripe security deposits most heavily, and the deposit ranges that work in each.
Vacation rentals
Replace the old 'security deposit' field in Airbnb-style listings with a real hold. Typical range: €200–€500 per booking. Captures happen in roughly 8% of bookings.
Car rentals
Cover fuel, smoking, late returns, and minor damage. Typical range: €300–€1000. Extended Authorizations are especially valuable here since rentals often exceed 7 days.
Event bookings
Secure event dates with a deposit, then charge the balance closer to the event. Works well with the deposit + balance pattern rather than a hold.
Freelance projects
Collect 50% upfront before starting work. This is typically a charge-and-keep pattern rather than a hold, since the freelancer needs the cash to actually do the work.
Equipment rentals
Hold €500–€2000 on cameras, tools, AV equipment, drones. Captures are rare but high-value when they happen — typically full replacement cost for a dropped item.
Property management
Hold a security deposit for short-term furnished rentals. Extended Authorizations lets you cover most short-stay windows; longer leases switch to a separate escrow.
What to Watch Out For
- •7-day vs 30-day limit: Standard authorizations expire after 7 days. Only merchants with Extended Authorizations enabled can hold up to 29 days 18 hours on Visa or 30 days on Mastercard.
- •Extended Authorizations fees: Free for hotels, car rentals, and cruise lines. For all other merchant categories Stripe charges 0.08% per transaction and requires Interchange Plus (IC+) pricing.
- •Customer statement: Pre-authorizations appear as 'pending' on the customer's card statement. Explain this clearly at checkout — the #1 support ticket for deposit flows is 'you charged me for a hold'.
- •Card support: Most credit and debit cards support manual capture. Some prepaid cards and certain debit cards in specific regions do not. Offer a second payment method in checkout as a fallback.
- •One capture per authorization: You can only capture once. Plan your capture to include everything you need — if you miss a damage charge, you cannot re-capture the same hold.
- •Disputes and chargebacks: Captured deposits can be disputed like any charge. Keep a clear deposit terms PDF, photos of the item before and after, and the authorization trail. Documented captures win disputes at around 85%.
Stripe Direct vs PayRequest: Which Should You Pick?
Both options ultimately use Stripe's PaymentIntent API to place the hold. The difference is what you own, what you maintain, and how much engineering time it takes to ship.
Pick Stripe direct when you have in-house engineering, you need deep customization (custom authentication flows, unusual capture patterns, multi-currency handling across regions), or you're already running a product that's deeply integrated with the Stripe API and adding deposits is a two-day feature.
Pick PayRequest when you want to ship in under an hour, you don't have engineering capacity to maintain PCI-compliant checkout flows, or you want the full billing workflow — deposits, invoicing, subscriptions, dunning, customer portal — from one platform rather than stitching together Stripe plus three other tools. The price is a flat €20/month instead of paying for developer time plus separate tools for invoicing, email reminders, and customer self-service.
A useful rule of thumb: if Stripe is the 19th line item in your engineering backlog, you probably want PayRequest. If you're a Stripe-native product with API-level customizations across every charge, stay with Stripe direct and optionally use PayRequest's customer-portal feature as a self-service layer on top.
Stripe Manual Capture vs PayRequest Security Deposits — feature checklist
Both use the same underlying payment-network mechanism. What differs is what you build, what you maintain, and how the rest of the deposit workflow plugs in.
| Feature | Stripe direct (manual capture) | PayRequest |
|---|---|---|
| Hold mechanism | PaymentIntent capture_method=manual | Same PaymentIntent under the hood |
| Hosted deposit checkout | You build it (Elements + 3DS) | Built-in hosted page |
| Capture & release dashboard | API only — build your own UI | Built-in: 1-click capture, partial capture, release |
| Partial capture | Yes (single API call) | Yes (UI button) |
| Authorization expiry tracking | Manual — webhooks + reconciliation | Auto-tracked with expiry alerts |
| Extended Authorizations (29–30 days) | Yes — set request_extended_authorization | Yes — toggle in deposit settings |
| 3D Secure handling | You handle the SCA challenge in code | Hosted — handled automatically |
| Dispute evidence trail | You assemble logs + customer agreement | Auto-collected (terms, agreement, capture trail) |
| Customer-facing receipt & portal | Stripe email or your own template | Branded receipt + customer portal |
| Time to ship | Engineering days to weeks | Same-day setup |
| Cost on top of Stripe fees | Engineering time | €20/mo flat — no per-transaction markup |
Frequently Asked Questions
Can you take deposits on Stripe?
Yes. Stripe supports five deposit patterns: standard pre-authorization holds (7 days), Extended Authorizations (up to 30 days), partial capture, deposit plus balance, and charge-and-refund. The right one depends on how long you need to hold, whether you need the cash in your account, and whether your merchant category is eligible for Extended Authorizations.
How long can you hold a Stripe pre-authorization?
Standard pre-authorizations hold funds for 7 days before automatically releasing. With Stripe's Extended Authorizations feature you can hold up to 29 days 18 hours on Visa cards and up to 30 days on Mastercard. Extended Authorizations is free for hotels, car rentals, and cruise lines; other merchant categories pay 0.08% per transaction.
How do I create a Stripe security deposit with the API?
Create a PaymentIntent with capture_method: 'manual'. Add payment_method_options.card.request_extended_authorization: 'if_available' if you need the 30-day window. Confirm the PaymentIntent on the client with Stripe.js or Elements — the customer passes 3D Secure if required. When the stay or rental ends, POST to /v1/payment_intents/{id}/capture with an optional amount_to_capture for partial capture.
Does Stripe charge fees on pre-authorizations?
No fee is charged if you let the authorization expire or release it. Stripe only charges fees on captured amounts. Extended Authorizations adds 0.08% per transaction for non-eligible merchant categories. 3D Secure authentication does not carry an extra fee.
Can I capture less than the authorized amount?
Yes. Call the capture endpoint with amount_to_capture set to the lower amount. The remaining hold is released back to the customer automatically. You can only capture once per authorization, so make sure you include everything you need to charge (damages, fees, no-show penalties) in the same capture.
What's the difference between a Stripe security deposit and a Stripe pre-authorization?
A security deposit is the business concept — the amount you're protecting yourself with. A pre-authorization is the payment-network mechanism that implements it. On Stripe, a security deposit is almost always implemented as a PaymentIntent with manual capture, which places a pre-authorization hold.
Can I use Stripe deposits without writing code?
Yes. PayRequest connects to your Stripe account and gives you a hosted deposit checkout, dashboard, and capture/release controls without any code. Turn on 'pre-authorization hold' on a payment request, share the link, and manage the whole lifecycle from the PayRequest dashboard.
What happens if a customer disputes a deposit capture?
Captured deposits can be disputed like any Stripe charge. To win disputes, keep a deposit terms document the customer agreed to, photos of the item before and after, and the full authorization and capture trail. Properly documented deposit captures win around 85% of disputes.
Does Stripe's Payment Links feature support security deposits?
Not directly. Plain Stripe Payment Links charge the card immediately — they do not place a hold. For a real pre-authorization via a hosted link, you need to either use Stripe's API (capture_method: 'manual') or a platform like PayRequest that wraps the API in a hosted deposit checkout.
Can I combine Stripe security deposits with subscriptions?
Yes. A common pattern is a subscription for the recurring charge plus a one-time PaymentIntent with manual capture for the deposit at each booking. PayRequest's billing platform handles both in one flow — subscription dunning on the recurring fee and a deposit hold per booking.
What happens to a Stripe deposit when the customer's card expires before capture?
If the card expires while the authorization is still open, the hold is voided automatically by the card network — funds become available to the customer immediately and you can no longer capture against that authorization. To prevent revenue loss on long holds (Extended Authorizations up to 30 days), check the customer's card expiry before placing the hold and ask for a new card if the expiry falls within the hold window. Stripe also fires `payment_intent.canceled` with cancellation_reason=`automatic` so you can react programmatically. PayRequest dashboards flag deposits where the card will expire during the hold window automatically and prompt you to request a fresh authorization.
Related Guides
Security Deposits Feature
No-code security deposit payment links
Stripe Integration
Connect your Stripe account to PayRequest
Stripe Extended Authorizations
The 30-day hold feature explained
Collect Security Deposit Online
Provider-agnostic deposit guide
Airbnb Security Deposits Outside the Platform
Take damage deposits off-platform when Airbnb's plan doesn't cover what you need.
Mollie Pre-Authorization Deposits
Same workflow, Mollie edition
Skip the Stripe API and Ship Deposits Today
PayRequest connects to your Stripe account and gives you hosted security-deposit payment links, a capture dashboard, and the full billing workflow (invoicing, subscriptions, dunning) for €20/month. No code, no PCI compliance work, no extra per-transaction fee from PayRequest.