How We Potentially Stopped Automated Fraud Attempts in WooCommerce

In recent weeks, many WooCommerce store owners have reported a sudden rise in failed orders, often appearing every few minutes with:

  • Random customer names
  • Small, identical order values (e.g., £9.95)
  • “Payment provider declined” messages
  • “Origin: Unknown” order sources

At first glance this can look like a broken payment gateway or malfunctioning checkout.
However, this pattern is a tell-tale sign of a card-testing attack.

Below, we explain what happened, why WooCommerce is targeted, and exactly how we resolved the issue.


What Is a Card-Testing Attack?

Card-testing is when fraudsters or automated bots try to confirm whether stolen or generated credit card numbers are valid. They do this by sending rapid-fire payment attempts through online checkout forms.

WooCommerce’s checkout endpoint — especially the newer “Store API” (/wp-json/wc/store/v1/checkout) — is a common target because:

  • It’s publicly accessible
  • It handles payments
  • Bots can submit data without loading the full website

If the payment provider declines the charge, WooCommerce creates a Failed Order, often filling the website admin with dozens or hundreds of entries.


Symptoms We Saw in This Case

Our client’s store began showing:

  • Failed WooCommerce orders every 10–20 minutes
  • Fake customer names and email addresses
  • Repeated attempts for the same order value
  • Logs showing “Payment provider declined the payment”
  • No matching payment logs from the gateway
  • No real customer activity at those times

These are all strong indicators of automated checkout abuse.


How We Identified the Attack

We reviewed:

  • WooCommerce order notes
  • Checkout behaviour
  • REST API requests
  • Wordfence Live Traffic logs
  • Payment gateway logs
  • Server activity

This revealed direct POST requests being made to the WooCommerce Store API with no user-agent, no referrer, and no legitimate session data — a classic bot signature.


How We Resolved the Issue

We implemented a multi-layered security approach to block malicious checkout submissions while keeping the checkout smooth for real customers.


✔ 1. Installed a Checkout CAPTCHA

We added the Cloudways CAPTCHA plugin, which places a lightweight CAPTCHA challenge on the checkout page.

This:

  • Prevents bots from submitting the checkout form
  • Ensures only real humans complete payment
  • Works invisibly for most customers

CAPTCHA alone stops a large chunk of automated attacks.


✔ 2. Enabled Wordfence Firewall Protection

We tuned Wordfence to act as a strong first line of defence:

A. Blocked bots sending POST requests with no browser headers

We activated the rule:

“Block IPs who send POST requests with blank User-Agent and Referer.”

Bots typically do this; real customers never do.

This rule effectively blocks:

  • Card-testing bots
  • API-based attacks
  • CURL / Python / Node scripts
  • Direct hits to /wp-json/wc/store/v1/checkout

B. Added page-view and rate-limit thresholds

We configured safe limits that stop bots without affecting humans:

  • Limit visitors loading pages too quickly
  • Block “fake” crawlers
  • Block anyone hitting too many “page not found” URLs
  • Slow down suspicious behaviour

This stops bots that attempt to overload the site or scan for vulnerabilities.


✔ 3. Verified Customer Checkout Remained Unaffected

We tested:

  • Adding items to cart
  • Viewing checkout
  • Submitting orders
  • Logging into accounts
  • Payment gateway processing

All behaved normally for real customers.


Result: Fake Failed Orders Stopped Completely

After applying these protections:

  • The fake failed orders stopped
  • Checkout performance improved
  • Payment gateway logs returned to normal
  • No further suspicious activity was detected

The store is now protected against this type of attack going forward.


Why This Matters for WooCommerce Stores

Card-testing attacks can:

  • Damage payment gateway reputation
  • Trigger account reviews from Stripe/PayPal
  • Lead to fee increases
  • Slow down the website
  • Fill the admin panel with noise
  • Cause confusion for store owners

Securing the checkout is essential for any WooCommerce store.


How to Protect Your Store

We recommend that every WooCommerce site owner take these steps:

  • Add CAPTCHA to checkout
  • Use a modern security plugin such as Wordfence
  • Limit access to WooCommerce API endpoints
  • Monitor for spikes in failed payments
  • Enable fraud tools in Stripe/PayPal/WooPayments

Preventing abuse is far easier than cleaning up after it.