Does WooCommerce Subscriptions Work With Checkout Blocks?
How It Works
WooCommerce's Cart and Checkout blocks are a from-scratch rebuild using the block editor framework, replacing the older shortcode-rendered checkout page. WooCommerce Subscriptions has updated to work with this newer system, so core functionality — recurring totals, trial and sign-up fee line items, and payment method selection — is supported. The compatibility risk sits mostly with the wider plugin ecosystem around checkout, not with WooCommerce Subscriptions itself.
Where Problems Actually Show Up
- Older payment gateway extensions built only for the legacy checkout, not yet updated to register correctly with the new block-based payment method registration system — these can fail to appear, or appear but not process correctly.
- Custom checkout field plugins or snippets written against the old shortcode checkout's hooks and template structure, which often don't carry over automatically to the block-based checkout without separate work.
- Page builder or theme customizations applied directly to the old checkout page template, which may not apply the same way (or at all) once the page uses the block-based checkout instead.
- Caching plugins configured around the old checkout page's specific behavior needing review, since the block checkout can have different caching-exclusion requirements.
How to Migrate Safely
- Test the full subscription checkout flow on a staging copy before switching over on the live site — every payment gateway in use, not just one.
- Check each payment gateway's own changelog or documentation for explicit Cart/Checkout Blocks compatibility before relying on it.
- Audit any custom checkout field code for compatibility with the new block-based hooks, since the extension points differ from the legacy checkout.
- Keep the classic shortcode checkout available as a fallback page during the transition period if any critical customization isn't yet block-compatible, rather than launching before it's ready.
See custom WooCommerce development for migrating checkout customizations to the block-based system properly.