WooCommerce Blocks checkout and payment gateways: compatibility and testing

How Blocks checkout affects payment gateway plugins, what breaks after updates, and a practical test matrix for WooCommerce stores.

Introduction

WooCommerce supports classic checkout (shortcode) and Blocks checkout (Cart and Checkout blocks). Payment gateway plugins must integrate with the checkout block APIs and Store API flows—not only the legacy hooks many extensions were originally built for.

If your store uses Blocks, treat gateway behavior as a first-class test target whenever WooCommerce, the gateway plugin, PHP, or the theme updates. A payment method that worked on classic checkout can still fail to initialize, tokenize, or redirect correctly on Blocks because the integration surface is different.

This guide explains what typically breaks, what to verify, and how to narrow issues before you open a priority ticket on launch week. Pair it with the WooCommerce payment gateway integration checklist and common WooCommerce payment gateway mistakes.


Quick answer

Blocks checkout uses React-based UI and different integration points than classic checkout. Your gateway plugin must explicitly support Checkout block compatibility for your WooCommerce version. After any material update, run sandbox payments for each enabled method, confirm webhooks still update order status (webhook monitoring), and retest mobile browsers—not only desktop.


1. Classic vs Blocks: why gateways behave differently

Classic checkout relies on PHP templates and long-standing actions and filters that gateway authors have used for years. Blocks checkout composes the experience from blocks, inner blocks, and Store API requests. Payment methods may register through different JavaScript entry points, and express payment methods (wallets) have their own initialization lifecycle.

Gateways that only patch classic flows can exhibit:

  • Payment methods that never appear or never initialize on block checkout
  • Express buttons (Apple Pay, Google Pay) missing, duplicated, or misaligned
  • Validation differences for required fields or custom checkout fields
  • Race conditions between client-side totals and server-side session data when optimization plugins interfere

Always check your gateway plugin readme, changelog, and support notes for Blocks / Cart block / Checkout block support and tested WooCommerce version ranges—the same rigor as how to evaluate payment gateway plugins.


2. Theme, caching, and optimization plugins

Blocks checkout is JavaScript-heavy. Full-page caching, aggressive minify bundles, defer scripts, or delay JS features can break checkout in ways that feel random (intermittent “payment method unavailable” states).

Hardening steps:

  • Exclude cart, checkout, add-to-cart, my-account, and known REST / Store API paths from cache—exact paths depend on your host and plugin.
  • After enabling a new “performance” plugin, run the testing matrix below before you call the migration done.
  • Test logged-in and guest flows; some issues only appear for one session type.

This overlaps with mistake #4 in common WooCommerce payment gateway mistakes (caching breaking checkout).


3. Testing matrix (minimum)

ScenarioWhat to watch
Happy path card paymentOrder moves to processing / completed per your rules
Wallet / redirect (if used)Customer return URL and webhook / async completion
DeclineCustomer-visible error; order failed / cancelled per policy
Partial failuresUser closes tab mid-redirect—webhook still settles payment
Blocks + mobile Safari / ChromeScript load, 3DS challenge, wallet buttons

If Blocks fail but classic works on staging with the same gateway keys, treat that as a compatibility or JS conflict signal—not “core WooCommerce is broken.” Switching temporarily to a default theme on staging is still a valid isolation step (same approach as classic checkout debugging).


4. Debugging: when Blocks fail but classic works

Systematic order:

  1. Confirm WooCommerce + gateway plugin versions match documented compatibility.
  2. Disable nonessential plugins except WooCommerce + gateway; retest Blocks.
  3. Check browser console for blocked scripts, CORS, or mixed content.
  4. Compare checkout page: shortcode vs block—ensure you are not mixing incompatible custom checkout plugins.

Document findings in your runbook so the next major Woo release does not start from zero.


5. SSL, mixed content, and wallets

Wallet buttons and some iframe-based fields require a secure context. Mixed content (HTTP assets on an HTTPS page) can prevent payment request APIs from working. Fix HTTPS and canonical URL issues before blaming the gateway—see WooCommerce insecure checkout and SSL fixes and digital wallets on WooCommerce.


6. Post-update regression routine

After WooCommerce minor/major updates, gateway plugin updates, or Blocks package updates:

  1. Run one sandbox payment per method on staging, then repeat on production during a quiet window if staging cannot mirror processors fully.
  2. Spot-check refund from Woo admin if your integration supports it.
  3. Verify webhook delivery or order notes for async events.

Link this routine to webhook monitoring for WooCommerce for ongoing operations.


7. When to get help

If you need custom checkout behavior, headless flows, or a processor without maintained Blocks support, scope custom payment gateway integration or browse WooCommerce payment gateways. For purchasing decisions, see buying a payment gateway plugin for WordPress.


FAQ

Should I use Blocks or classic checkout?
Choose based on theme roadmap and gateway support—not hype. Unsupported gateways on Blocks cost more in incidents than classic checkout “looks older.”

Does Blocks change PCI scope?
Scope depends on how card data flows, not only which checkout UI you use—see PCI scope for merchants.

Why do express buttons disappear after a theme update?
Often JS load order, block markup changes, or HTTPS / domain verification for wallets—retest per digital wallets article.



PatSaTECH
PatSaTECH
Articles: 274

Our Partners

fraudlabs
opayo
nochex
Razorpay
durango merchant services
2checkout is now verifone
authorizenet
gravity forms
whmcs
BrandPush press release distribution