reCAPTCHA for WooCommerce

How can we help?

Search the documentation or ask the AI agent anything about the plugin.

Express checkout compatibility

Updated September 13, 2026

Express checkout buttons such as Apple Pay, Google Pay, PayPal and Link cannot present a reCAPTCHA challenge, because they complete the order in a payment sheet without the customer ever filling in the checkout form. The plugin handles this by skipping the check for those payments rather than failing them.

What happens automatically

On the Checkout block, the plugin inspects the submitted payment data for markers that indicate an express payment. When it finds one on a WooPayments or Stripe order, it skips the reCAPTCHA check and lets the order through. This was added in version 1.4.7 to fix express payments being rejected with an error.

No configuration is needed for Apple Pay, Google Pay or Link through those two gateways.

Gateways you may still need to skip manually

The automatic detection covers WooPayments and Stripe. Other gateways with express or off-site flows, including PayPal’s own buttons and Amazon Pay, may still need adding to Payment Methods to Skip under WooCommerce Forms.

The symptom is consistent: customers using that button get the failed verification error while normal card orders go through.

Change the behaviour in code

The automatic skip is filterable. Use recaptcha_skip_on_express_pay to force a skip, or to remove one you do not want.

// Also skip the reCAPTCHA check for a custom express gateway.
add_filter( 'recaptcha_skip_on_express_pay', function( $skip, $payment_method, $payment_data, $request ) {
    if ( 'my_express_gateway' === $payment_method ) {
        return true;
    }
    return $skip;
}, 10, 4 );

Returning false unconditionally forces the check to run for every payment, including express ones. Only do that if you know those payments can supply a token, otherwise you will block legitimate orders.

What you give up

A skipped payment method is not protected by reCAPTCHA. In practice this matters less than it sounds, because express payments are already authenticated by the wallet provider and carry the provider’s own fraud checks.

The risk is worth weighing if you are being hit by card testing specifically through an express gateway. In that case your payment provider’s fraud rules are the right control, not the CAPTCHA.

Related

Was this article helpful?