Skip to content

How to Protect the WooCommerce Checkout

Checkout is where card testers and fake-order bots strike. A CAPTCHA there costs a real customer a few seconds once; a card-testing run costs you gateway fees on every attempt.

Go to Advanced CAPTCHA → Integrations. On the WooCommerce card, tick one of:

  • Guest Checkout: only shoppers who are not signed in. This is the default, and stops most bots without bothering your returning customers.
  • All Users Checkout: everyone, signed in or not.

The WooCommerce card’s form chips

Changes save as you click. Pay for Order and Add Payment Method are separate chips if you also want those pages covered.

Go to Configuration → Placement and set Checkout position. Above the Place Order button is the default and the most natural spot. Click Save Changes.

The Placement tab with Checkout position

The setting works on both the classic checkout and the Checkout block.

In a private window, add a product to the cart and open the checkout. The CAPTCHA sits above Place order.

The checkout with the Built-in CAPTCHA above Place order

Fill in the order with a wrong answer and click Place order. The order is not placed. A notice reads “The CAPTCHA answer is not correct. Please try the new challenge.” The fields the shopper filled in stay filled, and a new challenge is drawn.

The checkout refusing a wrong answer

The log records it as Failed, “Wrong answer”, on the Checkout form.

The same settings cover the Checkout block. On the demo store, the checkout page was switched to the block for a test. The CAPTCHA appeared above Place Order, as Checkout position asked.

The Checkout block with the CAPTCHA above Place Order

A wrong answer stops the order the block’s own way, with an error banner at the top: “The CAPTCHA answer is not correct. Please try the new challenge.”

The Checkout block’s error banner after a wrong answer

A CAPTCHA alone does not stop a person pasting stolen cards by hand. Pro adds the card-testing shield, which locks out an IP and email after repeated failed payments. It also adds an hourly order limit and the disposable email guard. These run for signed-in customers too, even when the CAPTCHA is Guest Checkout only.

  • Account creation at checkout is covered by the checkout CAPTCHA. The registration CAPTCHA does not run a second time.
  • Trusted roles skip the checkout CAPTCHA once signed in.
  • A shopper who fails five times in 15 minutes is locked out of every form in Pro, checkout included.