Checkout Protection for WooCommerce

Description

If you run a WooCommerce store, you’ve probably already seen it: a burst of orders in a few minutes, most of them failing, all using different stolen card numbers against the same product. That’s card testing — fraudsters using your checkout to find out which stolen cards still work, one failed charge at a time. Every attempt costs you a payment gateway decline fee, clutters your orders list with junk, and — if enough of them pile up — puts your Stripe or PayPal account at risk of a fraud review or suspension. Fake orders and bot-driven checkout abuse create the same mess without a single real customer behind them.

Checkout Protection – Card Testing & Fake Order Protection for WooCommerce sits in front of your checkout — both the classic shortcode checkout and the Cart & Checkout blocks (Store API) — and scores every attempt in real time, before payment is ever attempted. Attempts that look like card testing, bots, or fraud are blocked or logged, depending on how you configure it.

Who it’s for

Store owners who have noticed (or want to get ahead of) a spike in failed payments, suspicious orders from mismatched billing details, or repeated checkout attempts from the same visitor. It’s built for stores that want real protection without sending customer data to a third-party fraud API.

Key features

  • Rate Limiting – throttles repeated checkout attempts from the same visitor within a rolling time window, so a script hammering your checkout gets cut off automatically.
  • Risk Analyzer – combines every enabled protection module into a single risk score and blocks checkout once your configured threshold is reached, instead of relying on one single rule.
  • Blacklist – instantly blocks checkout attempts from specific IP addresses or email addresses you’ve already identified as abusive.
  • Whitelist – lets trusted repeat customers, staff, or test orders skip every check, including rate limiting, so your own protection never gets in your own way.
  • Disposable Email Blocker – flags or blocks checkouts made with throwaway/temporary email domains, a common signal of bot and fraud traffic.
  • Country Blocker – adds risk to (or blocks) checkouts from billing countries you choose, for stores that only ship to, or only trust orders from, a specific region.
  • Monitor Mode – turn on a global log but don’t block” switch so you can see exactly what your current settings would have blocked before you start enforcing them.
  • Security Event Logging – every risk analysis is written to a dedicated table in your own database, viewable right on the plugin’s dashboard, so you always know what was blocked and why.
  • Dashboard – a single settings screen (backed by the WordPress REST API) showing suspicious checkouts blocked in the last 7 days and all time, alongside every module’s configuration.

Automatically block repeat card-testing attacks, flag high-velocity fraud, and get instant email alerts the moment a risky checkout is stopped — see plans and pricing.

How it works

  1. A checkout attempt comes in — through the classic checkout form or the Cart & Checkout blocks.
  2. Checkout Protection gathers the IP address, billing email, and billing country for that attempt.
  3. Each enabled module (blacklist, disposable email, country, rate limiting) contributes a risk score if it finds something suspicious.
  4. If the attempt matches your whitelist, every other check is skipped and the order proceeds.
  5. If the combined score meets or exceeds your risk threshold, the checkout is blocked with a clear message — unless Monitor Mode is on, in which case it’s logged but allowed through.
  6. The result is written to the local security log, and the dashboard’s blocked-checkout counters update accordingly.

Privacy

Checkout Protection does not call any third-party or external fraud-detection API. Every check, every score, and every log entry is computed and stored entirely in your own WordPress database. Nothing about your customers or their orders is sent anywhere else, which also makes the plugin straightforward to cover in your store’s own GDPR/privacy documentation.

Compatibility

  • Classic (shortcode) checkout.
  • Cart & Checkout Blocks (the WooCommerce Store API) — protection runs before payment is attempted, so a blocked attempt never reaches your payment gateway.
  • WooCommerce’s High-Performance Order Storage (HPOS) / custom order tables.

Checkout Protection requires WooCommerce to be installed and active. The plugin will activate without WooCommerce present, but protection stays inactive until WooCommerce is installed and active.

Installation

  1. Upload the neeb-checkout-protection folder to the /wp-content/plugins/ directory, or install the plugin directly through the Plugins > Add New screen in your WordPress admin.
  2. Activate the plugin through the Plugins menu in WordPress.
  3. Make sure WooCommerce is installed and active.
  4. Go to Checkout Protection in the WordPress admin menu to configure the risk threshold, rate limit, blacklist/whitelist, and modules.
  5. New to the plugin? Turn on Monitor Mode first so you can see what would be blocked before you start enforcing it.

FAQ

How do I stop card testing in WooCommerce?

Activate the plugin with WooCommerce installed, then tune the Risk Threshold and Max Checkout Attempts on the Checkout Protection settings screen. Rate limiting catches the repeated-attempt pattern card testing relies on, while the risk score catches the rest (disposable emails, blacklisted IPs, blocked countries).

Does it work with the block checkout?

Yes. Checkout Protection hooks into the WooCommerce Store API checkout flow, which powers the Cart & Checkout blocks, and runs every protection module there as well as on the classic shortcode checkout. A blocked attempt gets a clean, user-facing error message instead of a broken page.

Does it work with Stripe and PayPal?

Yes. Checkout Protection doesn’t integrate with any specific payment gateway — it evaluates risk and, for Store API (block) checkout, blocks before payment is attempted. It works alongside whichever gateways you already have configured.

Will it block real customers?

Any security plugin can produce false positives, which is why Checkout Protection gives you several ways to avoid them: a configurable risk threshold, a Whitelist for trusted customers, and Monitor Mode so you can watch what the current settings would do before you turn on enforcement.

Does it send data to external services?

No. Checkout Protection does not call any third-party or external API. All risk scoring and logging happens locally, in your own WordPress database.

What is Monitor Mode?

Monitor Mode is a global switch that scores and logs every checkout attempt exactly as usual, but never actually blocks anything. It’s meant for safely testing your configuration on a live store before switching enforcement on.

How do I unblock a customer?

Remove their IP address or email from the Blacklist, or add it to the Whitelist to bypass all checks for that customer going forward.

Does it slow down checkout?

Checkout Protection only performs local database/transient lookups — there are no external API calls in the checkout path, so it does not add any network latency to your checkout.

Does this plugin require WooCommerce?

Yes. Checkout Protection hooks into the WooCommerce checkout process (both classic and block-based) to analyze and, when necessary, block orders. The plugin will activate without WooCommerce present, but its protection features stay inactive until WooCommerce is installed and active.

Is High-Performance Order Storage (HPOS) supported?

Yes. Checkout Protection declares compatibility with WooCommerce’s custom order tables (HPOS) and Cart & Checkout Blocks, and reads order data exclusively through WooCommerce’s own CRUD methods.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Checkout Protection for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.1

  • Added a Whitelist module for IPs and emails that bypasses every check, including rate limiting.
  • Added Monitor Mode: score and log every checkout without blocking, with a clear admin notice while it’s active.
  • Added a dashboard widget showing suspicious checkouts blocked in the last 7 days and all time.
  • Added a Security Log screen showing the most recent checkout risk events.
  • Added a one-time, dismissible review request shown only on the plugin’s own settings page after 25+ blocked checkouts.
  • Added a Coming in Pro” preview on the settings page (no locked features, no site-wide upsells).
  • Hardened Cart & Checkout Blocks (Store API) protection and confirmed it runs before payment is attempted.
  • All protection modules now fail open and log the error if one of them throws unexpectedly, so a module issue can never break checkout.
  • Fixed classic checkout being scored and rate-limited twice per attempt.
  • General Settings/Logs capability checks now use manage_woocommerce.

1.0.0

  • Initial public release.
  • Rate limiting for repeated checkout attempts.
  • Risk scoring engine with pluggable security modules.
  • IP and email blacklist module.
  • Email domain blocker for disposable/temporary addresses.
  • Country blocker module.
  • Security event logging to a dedicated database table.
  • Settings dashboard powered by the REST API.