loader image
WooCommerce · Stripe

Real Stripe pre‑authorizations. Built for WooCommerce.

SecureHold WP turns Stripe security deposit holds into a native WooCommerce workflow. Pre-authorize a card at checkout. Capture the full hold, capture part of it, or release it instantly from your WordPress admin. No deposit fees disguised as partial payments. No manual refund workflows.

HPOS-compatible Signed Stripe webhooks Test mode included Free plan available

Most "deposit" plugins charge first and refund later.

A partial payment isn't a deposit. It's a charge. The customer's card is debited, the money lands in your Stripe balance, and days later you issue a refund. Two transactions. Two ledger entries. Two timestamps to reconcile.

Partial payment plugins
1
Day 0
Card charged €500
Money immediately debited from the customer.
2
Day 0
Funds in your balance
The €500 sits in your Stripe balance, unused.
3
Day 7–14
You issue a refund €500
Manual refund initiated when rental ends.
4
Day 14–24
Bank processes refund
Customer waits. Support tickets follow.
With SecureHold WP
1
Day 0
Card authorized €500
Funds reserved. Nothing debited.
2
Day 0 → Day N
Held, not transferred
reserved · not debited
Your Stripe balance untouched.
3
Day N
Capture or release
Capture Release
  • Two ledger entries for one deposit.

    Every "deposit" creates a charge and a refund. Reconciliation gets noisy.

  • Money in your account that wasn't meant to be there.

    Funds clear, then leave. Cash flow signals get distorted.

  • Refund timelines confuse customers.

    Bank refunds take 5–10 days to appear. Support tickets follow.

Hold the funds. Don't charge them.

SecureHold WP places a real Stripe pre-authorization on the customer's card at checkout: a PaymentIntent with manual capture, in Stripe's terms.

The funds are reserved on the card. They never move into your Stripe balance until you decide. Capture the full amount when you need to. Capture part of it for a documented loss. Release it when the rental ends and everything's intact.

Card authorized at checkout

A Stripe PaymentIntent with manual capture is created separately from the order payment.

€500 authorized not charged

Funds reserved, balance untouched

The hold sits on the customer's card. Nothing moves until you decide.

balance untouched

Decide from the order screen

One click from wp-admin. Every action is logged and confirmed via signed Stripe webhooks.

webhook confirmed audit logged

Built around the things that matter at scale.

Five hold strategies

Choose when the authorization fires: at checkout, on a delay, scheduled around a date, by order status, or manually from the admin.

Immediate Delayed Pro Scheduled Pro By Status Pro Manual

A real rule engine

Global fallback rules on Free. Product-level rules, category-level rules, Priority Chain, and Highest Deposit Wins on Pro.

Product rule highest priority
Category rule fallback
Global fallback always active

Capture in full or in part

Capture the full amount, a partial amount, or release in one click from the order screen.

Pro

Auto-release scheduling

Schedule automatic release before Stripe's 7-day authorization window expires.

Pro

Customer transparency

A "My Deposits" tab in the customer account. Clear status, amount, and order reference.

Audit-ready records

Seven distinct hold statuses, each timestamped. Signed Stripe webhooks for every status change. Dual logging: WooCommerce file logger plus a dedicated database table.

Built for businesses that take real deposits.

Short-term rentals & concierge
Rental
Typical scenario
€500 authorized Release if intact Capture if damage
Equipment & gear rental
Rental
Typical scenario
Damage → Capture Clean return → Release Late return → Capture
Event & service bookings
Booking
Typical scenario
No-show → Capture Honored → Release
WooCommerce agencies
Agency
Typical scenario
Free for rental MVPs Pro for production scale

Free that ships. Pro that scales.

Start free with immediate holds, manual capture, and global deposit setup. Upgrade to Pro for product and category rules, delayed strategies, automation, live rule simulation, and customer-facing tools.

Free
Always free

Basic global deposits, immediate holds, manual capture and release.

Get SecureHold Free

Free plan · Install free

Pro
For scale

Product and category rules, delayed strategies, automation, live simulation, customer tools, and analytics.

View pricing

For growing stores and agencies

Capability Free Pro
Core hold workflow
Immediate hold strategy
Manual hold creation
Delayed, Scheduled, By Status strategiesNo
Capture in full or in part
Manual release
Auto-release schedulingNo
Rule engine
Basic global deposit setup
Product-level deposit rulesNo
Category-level deposit rulesNo
Priority Chain & Highest Deposit WinsNo
Per Order aggregation
Per Item AggregatedNo
Live rule simulatorNo
Customer experience
Configurable checkout messagebasicfull
Email notificationsbasicfull
Customer "My Deposits" tabNo
Operations & support
Dashboard analyticsNo
Audit log viewerNo
Priority email supportNo
Compatibility & setup
Setup Wizard
Health Check
HPOS compatibility
Signed Stripe webhooks
Test / Live mode toggle

Native to Stripe.
At home in WooCommerce.

SecureHold WP layers on top of the WooCommerce Stripe Gateway. It doesn't replace your checkout. It attaches a separate Stripe authorization for the deposit, in parallel with the order's payment.

Stripe SDK bundled and isolated

The Stripe PHP SDK ships with the plugin, namespaced (PHP-Scoped) to avoid conflicts with other Stripe-using plugins.

HPOS-compatible

Compatibility with WooCommerce High-Performance Order Storage is declared via WooCommerce's FeaturesUtil.

Signed webhooks

Hold status updates reach your site through a dedicated Stripe webhook endpoint, with full signature verification.

Test mode toggle

A built-in test/live mode switch, independent of your WooCommerce Stripe Gateway settings. Run the full deposit flow against Stripe's sandbox before going live.

SecureHold WP is an independent WooCommerce extension. Not affiliated with Stripe Inc. or Automattic Inc.

Built for production workflows.

SecureHold WP is designed for real operations, not demos. Test the full flow in sandbox, validate your setup with health checks, and track the lifecycle of every hold through timestamped statuses and logged events.

Read the docs
securehold-wp · system status
Setup Wizard

Get Stripe connected, webhooks configured, and deposit settings verified quickly. Seven guided steps with live environment checks at each stage.

7 steps
Health Check

Validate WooCommerce, Stripe SDK, API keys, webhook reachability, and WP-Cron availability. Run it anytime from the admin panel.

All systems
Audit-ready lifecycle

Seven distinct hold statuses, each timestamped. Dual logging: WooCommerce file logger plus a dedicated database table. Every state change confirmed via signed Stripe webhooks.

7 statuses
Honest Stripe limits

Stripe authorizations have a real 7-day validity window. SecureHold surfaces this reality. Manual capture or release on Free. Auto-release scheduling on Pro.

7-day window

Frequently asked questions.

No. SecureHold WP creates a Stripe pre-authorization. The funds are reserved on the card, but not transferred to your Stripe balance unless you capture the hold.

Yes. You can capture the full amount or only part of it, then release the remainder if appropriate.

Yes. SecureHold WP works alongside the WooCommerce Stripe Gateway. It does not replace the checkout payment flow. It attaches a separate authorization for the deposit.

Yes. Free covers basic global deposits and immediate or manual workflows. Product-level rules, category-level rules, advanced rule resolution, and the live simulator are Pro features.

Stripe authorizations do not stay valid indefinitely. If the window expires, the hold can no longer be captured. Pro includes auto-release scheduling to help manage this before the window closes.

Yes, in Pro. SecureHold Pro includes a "My Deposits" view in the customer account, and also provides a shortcode option for any page.

Yes. SecureHold WP includes a test/live mode toggle so you can validate the full deposit flow in Stripe sandbox before activating on your live store.

SecureHold WP

Start taking real deposits in WooCommerce.

Use SecureHold WP to place real Stripe holds at checkout, then capture or release them from your WordPress admin. Start free for basic workflows. Upgrade to Pro for advanced rules, automation, live simulation, and customer-facing tools.

Free plan available Upgrade anytime