What is a Stripe authorization hold?
An authorization hold is a temporary reservation of funds on a customer’s payment method. The customer is not charged immediately, but the amount is held on their card and can later be captured or released by the merchant.
For the customer, an authorization usually shows up as a pending charge on their statement. The money is set aside, but it has not actually moved out of their account. If the merchant releases the hold, the pending line drops off and nothing is settled.
A hold reserves funds. A charge transfers funds.
Stripe hold vs charge
The simplest way to understand a hold is to put it side by side with a normal charge. Both touch the customer’s card, but only one moves money. For a deeper comparison, see how it differs from a charge.
| Authorization hold | Standard charge | |
|---|---|---|
| Customer is charged immediately | No | Yes |
| Funds are reserved on the card | Yes | Not applicable: money has moved |
| Can be released without a refund | Yes | Refund required |
| Useful for security deposits | Designed for it | Works, but charges the customer |
| Customer experience | Pending line on statement, no money leaves the account | Money is taken, refund later if needed |
How Stripe authorization works
At a high level, an authorization is a two-step payment. Stripe first asks the customer’s bank to set funds aside, and only later asks the bank to actually move them.
- 1Customer checks out and submits their payment details.
- 2Stripe asks the issuing bank to authorize the requested amount.
- 3The funds are reserved on the card, visible as a pending charge.
- 4The merchant either captures the hold (collects payment) or releases it.
- 5If nothing happens, the hold expires automatically after a limited period.
Why this matters for WooCommerce stores
Most WooCommerce stores have two options when they need a security deposit: charge the customer the full deposit and refund it later, or skip the deposit and absorb the risk. Both have real downsides.
Charging and refunding moves real money out of the customer’s account, which feels heavy for short-term services and can fail if their balance is low. Skipping the deposit leaves the store exposed to damage, late returns or no-shows.
Authorization holds give stores a third option. This is especially useful for rental businesses, equipment rentals, bookings, services and short-term stays, anywhere the deposit only needs to be charged if something goes wrong.
When should you use an authorization hold?
Authorization holds fit any situation where you may need to charge a customer later, but probably will not. Some common cases:
Limitations to understand
Authorization holds are powerful, but they are not unlimited. There are a few things every store owner should know before relying on them.
For many standard card payments, uncaptured PaymentIntents are canceled after a set number of days, 7 days by default. The exact authorization window can depend on the payment method, card network and Stripe configuration.
In practice, this means you should plan your workflow around capturing or releasing holds within a known window, rather than letting them sit indefinitely. If timing matters for your deposit workflow, review how long Stripe holds last before relying on a specific authorization window.
How SecureHold WP helps
SecureHold WP brings Stripe authorization holds into WooCommerce as a first-class workflow. Instead of stitching together custom code or refund cycles, you can manage the full lifecycle of a deposit from the standard WooCommerce admin.
- Create holds on the customer’s card at checkout, with a clear deposit amount on the order.
- Capture holds in full or partially if you need to charge for damage, late returns or extras.
- Release holds in one click when the rental, booking or service ends cleanly.
- WooCommerce admin integration so deposits live inside the order screen, not a separate dashboard.
- Health Check to verify your Stripe configuration and surface common setup issues.
- Automation and rules on the Pro plan, for stores that need scheduled captures or release windows.
Add real Stripe security deposits to WooCommerce
SecureHold WP lets you create, capture and release authorization holds from your WooCommerce admin, no custom code required.
FAQ
-
Is an authorization hold the same as a charge?
No. An authorization hold reserves funds on the card without moving them. A charge actually transfers the money from the customer to the merchant. The hold can later be captured (turning it into a charge) or released. -
Can a hold be released without refunding?
Yes. Because no money has been transferred yet, releasing a hold simply tells the bank to free the reserved funds. There is nothing to refund: the pending line on the customer's statement drops off on its own. -
How long does a Stripe hold last?
For many standard card payments, uncaptured PaymentIntents are canceled after a set number of days, 7 days by default. The exact authorization window can depend on the payment method, card network and Stripe configuration, so check current Stripe documentation for the methods you accept. -
Can WooCommerce create authorization holds by default?
Out of the box, WooCommerce charges the customer at checkout. To run true Stripe authorization holds and manage capture or release on the order, you need a plugin like SecureHold WP that adds this workflow to the admin. -
Does SecureHold WP charge transaction fees?
SecureHold WP does not take a cut of your transactions. You pay the standard Stripe processing fees and your SecureHold WP licence, nothing more on top of each hold.

