توضیحات
Checkout Shield blocks the scripted checkout submissions that CAPTCHA never sees.
Card testing bots don’t fill out your checkout form. They hit your store’s checkout API directly, completely skipping any reCAPTCHA or hCaptcha you’ve set up. That’s why CAPTCHA alone doesn’t stop them.
Your site signs a proof into the checkout page it serves. A submission that carries that proof loaded the page; one that doesn’t, didn’t. Submissions with no valid proof are stopped before WooCommerce processes the order.
What this stops, and what it does not
Being straight about this is more useful than a bigger promise.
It stops anything that posts to your checkout without loading the checkout page first: curl scripts, direct Store API calls, replayed form posts, and the card testing runs that work this way. This is the large majority of automated checkout abuse, and it is the part CAPTCHA misses.
It does not stop a bot that drives a real browser. Something that genuinely loads your checkout page receives a genuine proof, because that is exactly what the proof records. Once loaded, that proof stays valid for the life of the shopping session, so a script can reuse it. No proof of this kind can tell the second submission from the first, since the thing being proven is identical.
For that tier you want a bot mitigation service in front of the site (Cloudflare Bot Fight Mode, Sucuri) alongside this plugin. The dashboard reports how many orders shared a single checkout visit, which is what reuse looks like when it happens, so you can see it rather than guess.
Why Store Owners Choose This Plugin
- Catches what CAPTCHA misses — blocks bots hitting your checkout API directly, without asking shoppers to prove anything
- Works with any caching — LiteSpeed, Cloudflare, WP Rocket, W3TC — no conflicts
- Nothing to configure — no rules to write and no thresholds to tune
- Never blocks your customers by mistake — it checks that your checkout is working before it blocks anything, and stands down if that ever stops being true
- No external services — everything runs on your server, no subscriptions
- Adds milliseconds — the check is local, with no third-party call to wait on
Features (Free)
- Automatic bot blocking — no rules to configure; it arms itself once it has seen one checkout on your store work
- 4 protection levels — Learning, Permissive, Balanced, and Strict — choose how aggressive you want to be
- Dashboard overview — see blocked vs verified orders at a glance with a 7-day chart
- Order status tracking — know which orders were flagged, passed, or blocked
- IP whitelist — let trusted addresses through, supports CIDR notation
- API key authentication — for headless and custom checkout setups
- Works with all checkout types — classic, block-based, and all payment gateways
- HPOS compatible — works with High-Performance Order Storage
- WooCommerce logging — full integration with WooCommerce Status logs
Pro Features
Take control with advanced tools:
- 3-level logging control — turn logging off, log blocked attempts only, or log everything
- Recent blocks feed — last 50 blocked attempts on your dashboard with email, payment method, and reason
- Automatic CDN/proxy detection — identifies real visitor IPs behind Cloudflare, Sucuri, or Akamai
- Stronger permissive mode — tighter bot detection with referrer verification
- Checkout details in logs — see which email and payment method bots tried to use
- Customer blocklist — block repeat offenders by email, name, address, phone, IP, or postal code
- One-click order blocking — block a customer directly from any order screen
عکسهای صفحه



نصب
- Upload the plugin files to
/wp-content/plugins/carticy-checkout-shield-for-woocommerce/ - Activate the plugin through the ‘Plugins’ menu in WordPress
- Open your own checkout page and submit it once
That third step is what arms it. Until one checkout on your store has been seen working, nothing is blocked — that is deliberate, so that switching protection on can never turn every customer away. The order does not have to complete; a submission that WooCommerce rejects for any other reason still arms it. Your dashboard says which of the two states the store is in.
Optional: Go to WooCommerce Settings Advanced Checkout Shield to adjust settings.
Requirements
- WordPress 6.0+
- WooCommerce 8.0+
- PHP 8.0+
سوالات متداول
-
Does this slow down checkout?
-
No. Validation happens locally in microseconds. No external API calls, no waiting on third-party services.
-
Will this block real customers?
-
It is built so it cannot. Before blocking anything it waits until it has seen a
checkout on your store carry its proof successfully, and if that ever stops
happening — a theme update, a caching layer serving a stored checkout page — it
pauses blocking on its own and tells you, rather than turning customers away. If
you still want to watch first, Learning mode logs what would be blocked without
blocking anyone. -
I sent a test bot request and it went through. Is it broken?
-
Almost certainly not. Protection stays inactive until one checkout on your store
has been seen working, so a test request sent before that will pass. Open your
own checkout page and submit it once, then try your test again. Your dashboard
says which state the store is in. -
Does it work with Block Checkout?
-
Yes. Works with both classic checkout and the newer block-based checkout.
-
What about PayPal, Stripe, and other payment gateways?
-
All major gateways work normally. Payment confirmations from gateways aren’t affected by checkout validation.
-
I run a headless store. Will this break my setup?
-
Not if you configure it. Add your frontend’s server IP to the whitelist, or use API key authentication. Both options let legitimate automated requests through.
-
Do I still need CAPTCHA?
-
Up to you. This plugin catches bots that CAPTCHA misses (the ones hitting your API directly). You can use both together, or drop CAPTCHA entirely to reduce checkout friction.
-
I’m still getting spam orders with this active. Why?
-
Two causes, and the dashboard tells you which one you have.
The orders share one checkout visit. Something loaded your checkout page for
real and is now reusing the proof it was given. That proof is valid, so this
plugin passes it, exactly as it would for a shopper who retried a declined card.
Look at “Orders sharing one checkout visit” on the dashboard widget: a large
number against a single visit is what this looks like. A bot mitigation service
in front of the site is the layer that addresses it.The orders were never placed through your checkout at all. If someone has
gained access to your WordPress they can create orders directly, and no plugin
that inspects checkout submissions can see that happen. Signs worth checking are
administrator accounts you do not recognise, posts you did not publish, and
recently modified plugin or theme files.Neither case means protection is off. Check the “blocked” count on the dashboard
widget to see what it is stopping. -
How do I know it’s working?
-
The dashboard widget is the quick answer. It tells you whether protection is
armed yet, and counts what happened: blocked, passed, and not checked. “Not
checked” means a submission was let through because the check was not yet
trustworthy — it is separated from “passed” on purpose, so a bot-shaped request
is never counted as a happy customer.For the detail behind any of it, go to WooCommerce Status Logs and filter by
“carticy-checkout-shield”.
نقد و بررسیها
توسعه دهندگان و همکاران
“Checkout Shield for WooCommerce – Stop Fake Orders, Spam Bots & Card Testing” نرم افزار متن باز است. افراد زیر در این افزونه مشارکت کردهاند.
مشارکت کنندگانترجمه “Checkout Shield for WooCommerce – Stop Fake Orders, Spam Bots & Card Testing” به زبان شما.
علاقه مند به توسعه هستید؟
کد را مرور کنید، مخزن SVN را بررسی کنید، یا از طریق RSS در گزارش توسعه مشترک شوید.
گزارش تغییرات
1.3.0
- Your dashboard now shows when several orders were placed from a single checkout visit, which is what an automated order run looks like.
1.2.1
- For new stores, the dashboard widget now says when protection is not blocking immediately. It waits until it has seen one checkout on your store work before it blocks anything.
- Added a separate “not checked” count.
- Clearer setup instructions.
1.2.0
- Stronger bot detection: checkout proof is now issued and signed by your site rather than created in the browser
- Fewer false positives — cookie-blocking browsers, a second checkout tab, a page left open, and JavaScript errors elsewhere on the page no longer stop a genuine order
- Protection now calibrates itself and pauses automatically if proof stops reaching your checkout, resuming on its own
- Added an admin notice whenever protection pauses, so it is never off without you knowing
- Improved Strict and Permissive modes, with clearer descriptions in settings
- Paying for an order from an emailed payment link now works in every mode
- Lighter checkout page: removed a redundant client-side watcher and a duplicate hidden field
- Blocked attempts now report what the submission was missing, and the dashboard stores only the details it displays
- Improved reliability on newly installed sites and restored backups
1.1.1
- Fixed unescaped Unicode characters appearing as raw escape sequences in admin labels and placeholders (Pro)
1.1.0
- Default mode changed to Balanced (was Learning)
- Added smart logging with 3 levels: off, blocks only, and detailed (Pro)
- Added recent blocks feed on the dashboard showing last 50 blocked attempts (Pro)
- Added automatic CDN/proxy detection for Cloudflare, Sucuri, and Akamai (Pro)
- Added enhanced permissive mode with referrer verification (Pro)
- Added checkout details (email, payment method) in log entries (Pro)
- Added one-click order blocking from any order screen (Pro)
- Added upgrade prompts for Pro features
- Improved plugin title and description for better discoverability
- Removed “Carticy” from user-facing plugin name
1.0.0
- Initial release
- Bot detection for checkout protection
- Four protection modes (learning, permissive, balanced, strict)
- IP whitelist with CIDR support
- API key authentication for headless checkout
- Proxy/CDN support
- WooCommerce logging integration
- Dashboard statistics widget
- Orders list shield status column
- HPOS compatibility
- Block checkout compatibility
