Back to Guides
Tutorial6 min read

Can You Take Deposits on Stripe?

Yes! Stripe offers multiple ways to collect deposits and security holds. Learn about pre-authorization, partial payments, and refundable deposits.

Short Answer: Yes!

Stripe supports several deposit methods:

  • Pre-authorization: Hold funds without charging (up to 7 days)
  • Partial payments: Charge a deposit now, balance later
  • Refundable deposits: Charge full amount, refund after

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.

4 Ways to Take Deposits 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.

1

Pre-Authorization (Auth & Capture)

Hold funds on a customer's card without charging. Capture later or release automatically.

How it works
Stripe places a hold on the card. You have up to 7 days to capture (charge) or release the hold.
Best for
Rentals, bookings, damage deposits
Stripe feature
PaymentIntents with capture_method: manual
2

Partial Capture

Authorize an amount, then capture only what you need (e.g., actual damages).

How it works
Hold €500, but only charge €150 if there's minor damage. The rest is released.
Best for
Security deposits where full amount is rarely needed
Stripe feature
PaymentIntents with partial capture
3

Upfront Deposit + Balance

Charge a deposit now, then charge the remaining balance later.

How it works
Customer pays 50% upfront. You charge the remaining 50% when work is complete.
Best for
Services, projects, custom orders
Stripe feature
Multiple PaymentIntents or Invoicing
4

Refundable Security Deposit

Charge the full deposit, then refund after the service/rental is complete.

How it works
Charge €500 deposit. Refund in full (or partial) after the rental period.
Best for
When you need actual funds in your account
Stripe feature
Standard charges + Refunds API

Compare 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.

MethodCharges Customer?Funds in Account?Refund Needed?Time LimitFees
Pre-AuthorizationNo (hold only)NoNo7 daysNo fee if not captured
Charge + RefundYesYesYesNoneFull fee, refund fee may apply
Deposit + BalancePartialPartialNoNoneFee on deposit only

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 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

Hold security deposits for Airbnb-style rentals without charging unless there's damage.

Car Rentals

Pre-authorize for the rental + deposit, capture only the rental fee if no damage.

Event Bookings

Take deposits to secure event dates, charge the balance closer to the event.

Freelance Projects

Collect 50% upfront deposits before starting work on client projects.

Equipment Rentals

Hold a security deposit while customers rent expensive equipment.

Property Management

Collect and manage security deposits for rental properties.

Important Things to Know

  • 7-day limit: Pre-authorizations expire after 7 days. For longer holds, you'll need a different approach.
  • Customer experience: Pre-auths show as "pending" on customer statements, which can cause confusion.
  • Card requirements: Not all cards support pre-authorization. Debit cards in some countries may not work.
  • Documentation: Always have clear terms about when deposits are captured or refunded.

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.

FeatureStripe direct (manual capture)PayRequest
Hold mechanismPaymentIntent capture_method=manualSame PaymentIntent under the hood
Hosted deposit checkoutYou build it (Elements + 3DS)Built-in hosted page
Capture & release dashboardAPI only — build your own UIBuilt-in: 1-click capture, partial capture, release
Partial captureYes (single API call)Yes (UI button)
Authorization expiry trackingManual — webhooks + reconciliationAuto-tracked with expiry alerts
Extended Authorizations (29–30 days)Yes — set request_extended_authorizationYes — toggle in deposit settings
3D Secure handlingYou handle the SCA challenge in codeHosted — handled automatically
Dispute evidence trailYou assemble logs + customer agreementAuto-collected (terms, agreement, capture trail)
Customer-facing receipt & portalStripe email or your own templateBranded receipt + customer portal
Time to shipEngineering days to weeksSame-day setup
Cost on top of Stripe feesEngineering time€20/mo flat — no per-transaction markup

Frequently Asked Questions

Can you take deposits on Stripe?

Yes! Stripe supports multiple deposit methods: pre-authorization (hold funds without charging), partial payments (charge a deposit upfront), and standard charges with refunds. The best method depends on your use case.

How long can you hold a pre-authorization on Stripe?

Stripe allows you to hold a pre-authorization for up to 7 days. After that, the hold automatically expires and the funds are released back to the customer. For longer periods, you'll need to charge and refund.

Does Stripe charge fees on pre-authorizations?

No! Stripe only charges fees when you capture (complete) the payment. If you release the authorization without capturing, there's no fee. This makes pre-auth ideal for security deposits.

Can I capture less than the authorized amount?

Yes, Stripe supports partial capture. If you authorize €500 but only need to charge €100 for damages, you can capture just €100 and the remaining €400 is released.

What happens if a customer disputes a deposit?

Deposits can be disputed like any charge. For pre-authorizations that were captured, the customer can file a chargeback. Having clear terms and documentation helps win disputes.

Can I use Stripe deposits without coding?

Yes! PayRequest offers a no-code security deposits feature built on Stripe. Create deposit requests, hold funds, and capture or release — all from a simple dashboard.

Related

Take Deposits Without Code

PayRequest makes Stripe deposits easy. Create security deposit requests, pre-authorize cards, and capture or release — all from a simple dashboard.