Skip to content

fix: resolve false block checkout incompatibility warnings#11280

Merged
oaratovskyi merged 29 commits intodevelopfrom
fix/block-checkout-compatibility-detection
Feb 13, 2026
Merged

fix: resolve false block checkout incompatibility warnings#11280
oaratovskyi merged 29 commits intodevelopfrom
fix/block-checkout-compatibility-detection

Conversation

@dmallory42
Copy link
Contributor

@dmallory42 dmallory42 commented Jan 21, 2026

Fixes WOOPMNT-5640

Changes proposed in this Pull Request

Fixes WooPayments incorrectly showing as "incompatible with block-based checkout" in the WordPress block editor.

Root Cause

WooCommerce's block editor compares globalPaymentMethods (PHP gateways with enabled='yes') against availablePaymentMethods / availableExpressPaymentMethods (JS-registered methods). Two issues caused false "incompatible" warnings:

  1. Express checkout (Apple Pay, Google Pay, Amazon Pay) registers via registerExpressPaymentMethod() in JS with different names than their PHP gateway IDs (e.g. apple_pay_ece vs woocommerce_payments_apple_pay), so WooCommerce can't match them.
  2. Split UPE gateways (Affirm, iDEAL, etc.) could have stale enabled=yes in the database even when not in the UPE enabled methods list.
Changes
  • disable_express_checkout_in_block_editor() (new, class-wc-payments.php): Hooks into enqueue_block_editor_assets at priority 1 to set enabled='no' on express checkout gateways before WC reads their state at priority 10. Only fires in the block editor — does not affect frontend, AJAX, or subscription admin pages.
  • init_settings() (class-wc-payment-gateway-wcpay.php): For split gateways, verify the method is in the UPE enabled list. This prevents sync issues where a gateway has enabled=yes but isn't actually configured in WCPay settings.
  • is_available_for_express_checkout() (class-wc-payment-gateway-wcpay.php): In admin context, skip runtime availability checks (HTTPS, currency, capability status) that fail without an active cart/customer session. Use a simple enabled check instead.
  • get_enabled_payment_method_config() (class-wc-payments-checkout.php): Skip express checkout methods when building UPE config to prevent them from being registered as regular payment methods via registerPaymentMethod().
image image

Testing instructions

Prerequisites
  • WooCommerce Subscriptions plugin active
  • Amazon Pay enabled:
    1. Set WooPayments version header to 10.6.0 in woocommerce-payments.php
    2. Ensure your Stripe account is US-based
    3. Pull latest fee fixtures: npm run update-fees-fixtures && npm run up
    4. Enable the feature flag: wp option update _wcpay_feature_amazon_pay 1
    5. Enable Amazon Pay in Payments > Settings
  • Block-based checkout active (default in WooCommerce)
  • At least one customer with both a Card and an Amazon Pay subscription (if not: make two subscription purchases as a customer, one with Card, one with Amazon Pay)
Test 1: Block checkout editor shows no false incompatibility warnings
  1. Go to wp-admin > Pages and edit the Checkout page in the block editor
  2. Select the Checkout block and open the sidebar settings
  3. Verify:
    • There is no "incompatible with block-based checkout" warning for Apple Pay, Google Pay, or Amazon Pay
    • Amazon Pay does not appear in the main payment methods list — it should only appear alongside Apple Pay, Google Pay, and WooPay in the express payments section
Test 2: Amazon Pay appears on the product page
  1. Go to any product page on the storefront (as a shopper)
  2. Verify Amazon Pay is visible in the express checkout buttons area (alongside Apple Pay / Google Pay)
Test 3: Amazon Pay appears on the block checkout page
  1. Add a product to the cart and go to the block checkout page (as a shopper)
  2. Verify Amazon Pay is visible in the Express Checkout section at the top of the checkout form (not in the regular payment methods list)
Test 4: Switch a subscription from Card to Amazon Pay
  1. Go to wp-admin > WooCommerce > Subscriptions
  2. Edit a subscription that is currently paid with Card, for a customer who also has a saved Amazon Pay token
  3. In the Billing section, click to change the payment method
  4. Verify Amazon Pay appears in the payment method dropdown
  5. Select Amazon Pay, choose a saved token, and save the subscription
  6. Confirm the subscription now shows Amazon Pay as its payment method
Test 5: Switch a subscription from Amazon Pay to Card and back to Amazon Pay
  1. Edit a subscription that is currently paid with Amazon Pay
  2. In the Billing section, change the payment method to Card
  3. Select a saved card token and save the subscription
  4. Edit the same subscription again
  5. Verify Amazon Pay still appears in the payment method dropdown
  6. Switch back to Amazon Pay and save
  7. Confirm the subscription shows Amazon Pay as its payment method again

  • Run npm run changelog to add a changelog file, choose patch to leave it empty if the change is not significant. You can add multiple changelog files in one PR by running this command a few times.
  • Covered with tests (or have a good reason not to test in description ☝️)
  • Tested on mobile (or does not apply)

Post merge

WooPayments was incorrectly shown as "incompatible with block-based
checkout" in the WordPress block editor for split gateways and express
checkout methods.

Root cause: WooCommerce compares PHP gateways (where enabled='yes') with
JS methods registered via registerPaymentMethod(). Express checkout uses
registerExpressPaymentMethod() with different names, causing a mismatch.
Split gateways could also have stale enabled settings not matching UPE config.

Changes:
- init_settings(): Set enabled='no' for express checkout in admin context
  to exclude them from the compatibility check. For split gateways, verify
  they're in the UPE enabled list.
- is_enabled(): For split gateways, also check UPE config to prevent
  sync issues.
- register_checkout_gateway(): Register all split gateways with blocks.
- Blocks payment method: Use is_enabled() instead of is_available() and
  fix constructor timing for get_name().

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@dmallory42 dmallory42 requested a review from a team January 21, 2026 13:23
@github-actions
Copy link
Contributor

github-actions bot commented Jan 21, 2026

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 11280 or branch name fix/block-checkout-compatibility-detection in your-test.site/wp-admin/admin.php?page=jetpack-beta&plugin=woocommerce-payments

Option 2. Jurassic Ninja - available for logged-in A12s

🚀 Launch a JN site with this branch 🚀

ℹ️ Install this Tampermonkey script to get more options.


Build info:

  • Latest commit: 6898380
  • Build time: 2026-02-13 11:06:00 UTC

Note: the build is updated when a new commit is pushed to this PR.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 21, 2026

Size Change: 0 B

Total Size: 955 kB

ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.46 kB
release/woocommerce-payments/assets/css/admin.rtl.css 1.46 kB
release/woocommerce-payments/assets/css/success.css 1.06 kB
release/woocommerce-payments/assets/css/success.rtl.css 1.06 kB
release/woocommerce-payments/dist/blocks-checkout-rtl.css 2.89 kB
release/woocommerce-payments/dist/blocks-checkout.css 2.89 kB
release/woocommerce-payments/dist/blocks-checkout.js 54.8 kB
release/woocommerce-payments/dist/cart-block-rtl.css 113 B
release/woocommerce-payments/dist/cart-block.css 112 B
release/woocommerce-payments/dist/cart-block.js 16.9 kB
release/woocommerce-payments/dist/cart.js 5.32 kB
release/woocommerce-payments/dist/checkout-rtl.css 1.01 kB
release/woocommerce-payments/dist/checkout.css 1.01 kB
release/woocommerce-payments/dist/checkout.js 34.1 kB
release/woocommerce-payments/dist/chunks/express-checkout-previews.js 3.51 kB
release/woocommerce-payments/dist/express-checkout-rtl.css 367 B
release/woocommerce-payments/dist/express-checkout.css 367 B
release/woocommerce-payments/dist/express-checkout.js 17.4 kB
release/woocommerce-payments/dist/frontend-tracks.js 883 B
release/woocommerce-payments/dist/index-rtl.css 21.7 kB
release/woocommerce-payments/dist/index.css 21.7 kB
release/woocommerce-payments/dist/index.js 159 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.09 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 3.82 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 19.2 kB
release/woocommerce-payments/dist/multi-currency.css 3.83 kB
release/woocommerce-payments/dist/multi-currency.js 25.5 kB
release/woocommerce-payments/dist/order-rtl.css 740 B
release/woocommerce-payments/dist/order.css 740 B
release/woocommerce-payments/dist/order.js 22.3 kB
release/woocommerce-payments/dist/plugins-page-rtl.css 484 B
release/woocommerce-payments/dist/plugins-page.css 484 B
release/woocommerce-payments/dist/plugins-page.js 2.65 kB
release/woocommerce-payments/dist/product-details-rtl.css 433 B
release/woocommerce-payments/dist/product-details.css 436 B
release/woocommerce-payments/dist/product-details.js 12.5 kB
release/woocommerce-payments/dist/settings-rtl.css 12.4 kB
release/woocommerce-payments/dist/settings.css 12.3 kB
release/woocommerce-payments/dist/settings.js 154 kB
release/woocommerce-payments/dist/subscription-edit-page.js 1.9 kB
release/woocommerce-payments/dist/subscription-product-onboarding-modal-rtl.css 527 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 527 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 1.98 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 730 B
release/woocommerce-payments/dist/subscriptions-empty-state-rtl.css 120 B
release/woocommerce-payments/dist/subscriptions-empty-state.css 120 B
release/woocommerce-payments/dist/subscriptions-empty-state.js 1.9 kB
release/woocommerce-payments/dist/success.js 6.03 kB
release/woocommerce-payments/dist/tos-rtl.css 235 B
release/woocommerce-payments/dist/tos.css 235 B
release/woocommerce-payments/dist/tos.js 3 kB
release/woocommerce-payments/dist/wc-payments-review-prompt-rtl.css 1.66 kB
release/woocommerce-payments/dist/wc-payments-review-prompt.css 1.66 kB
release/woocommerce-payments/dist/wc-payments-review-prompt.js 14.9 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight-rtl.css 1.66 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight.css 1.66 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight.js 28.2 kB
release/woocommerce-payments/dist/woopay-direct-checkout.js 5.69 kB
release/woocommerce-payments/dist/woopay-express-button.js 22.9 kB
release/woocommerce-payments/dist/woopay-rtl.css 4.27 kB
release/woocommerce-payments/dist/woopay.css 4.25 kB
release/woocommerce-payments/dist/woopay.js 70.9 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 625 B
release/woocommerce-payments/includes/subscriptions/assets/js/plugin-page.js 814 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/i18n-loader.js 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/jetpack-script-data.js 880 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/i18n-loader.js 1.02 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/script-data.js 69 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/babel.config.js 163 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.css 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.js 14.3 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.rtl.css 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.css 10.1 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.js 31.5 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.rtl.css 10.1 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.css 198 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.js 280 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.rtl.css 198 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.css 625 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.js 331 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.rtl.css 626 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-users.js 415 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-users-connection.js 159 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 520 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 585 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-admin-create-user.css 218 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-admin-create-user.js 521 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-login.css 719 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-login.js 412 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-users.js 625 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.04 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-empty-state.css 294 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-order-statuses.css 408 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin.css 3.59 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/checkout.css 301 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/modal.css 746 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/view-subscription.css 574 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/wcs-upgrade.css 414 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin-pointers.js 543 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin.js 9.4 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.js 6.78 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.min.js 3.84 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-coupon.js 545 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-subscription.js 2.52 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.js 22.2 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.min.js 11.7 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/payment-method-restrictions.js 1.29 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/wcs-meta-boxes-order.js 507 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/payment-methods.js 358 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/single-product.js 428 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/view-subscription.js 1.38 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/wcs-cart.js 782 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/modal.js 1.09 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/wcs-upgrade.js 1.26 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.css 391 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.js 3.04 kB

compressed-size-action

Copy link
Member

@rtio rtio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested and it works as described, just a few small comments.

…lback

- Add EXPRESS_CHECKOUT_METHODS constant to WC_Payment_Gateway_WCPay
- Update init_settings(), is_enabled(), and register_checkout_gateway() to use the constant
- Add null fallback for gateway in WC_Payments_Blocks_Payment_Method constructor
- Add null checks in is_active() and get_payment_method_data() methods

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@dmallory42 dmallory42 self-assigned this Jan 30, 2026
@dmallory42
Copy link
Contributor Author

Thanks for the review, @rtio! I've addressed your feedback with 14e2187, could you take a look?

@dmallory42 dmallory42 requested a review from rtio January 30, 2026 19:33
Copy link
Contributor

@frosso frosso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With these changes & Amazon Pay enabled, I'm seeing Amazon Pay in the "main" list of payment methods, but it should be an express payment method

Image

@oaratovskyi oaratovskyi self-assigned this Feb 2, 2026
@frosso
Copy link
Contributor

frosso commented Feb 3, 2026

Thank you @oaratovskyi !
It's taking me a bit to verify the changes, I would like to continue manual testing tomorrow. My main concerns are around those is_admin() checks. They're not only limited to the page editor, but to other pages as well.

@oaratovskyi
Copy link
Contributor

Sounds good @frosso ! Looking forward to the review.

Copy link
Member

@rtio rtio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but my recommendation is to wait for @frosso 👍🏽

@oaratovskyi
Copy link
Contributor

Thanks @rtio ! Waiting for the final approval from Francesco.

Copy link
Contributor

@frosso frosso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It took me a while to find something negatively affected by these changes using is_admin() 😅

The current approach seems to be affecting subscriptions behavior.
In the admin area, we have an AJAX call that returns customer tokens for subscriptions.

Let's have an example: you're an admin and you're managing your customer's subscriptions.
One of your customers has both Card and Amazon Pay saved tokens available.

Example 1: switching a subscription from Card -> Amazon Pay

  • Ensure you have a customer with both Card and Amazon Pay subscriptions
    • If you don't have such a customer: make 2 subscription purchases as a customer, one with a Card, another with Amazon Pay
  • Edit one of the existing subscriptions paid with Card
  • Make sure you're selecting the customer that has saved Amazon Pay tokens (or edit one of their own existing subscriptions)
Image
  • Edit the subscription's billing section
  • You won't be able to find "Amazon Pay" from the available payment methods
Image

Example 2: switching a subscription from Amazon Pay -> Card -> Amazon Pay

  • Ensure you have a customer with both Card and Amazon Pay subscriptions
    • If you don't have such a customer: make 2 subscription purchases as a customer, one with a Card, another with Amazon Pay
  • Edit one of the existing subscriptions paid with Amazon Pay
  • Edit the subscription's billing section
    • Here, you should be able to see "Amazon Pay" in the list of payment methods because the codebase gracefully degrades indicating that if a subscription has been paid with a specific payment method, the payment method should be available in the dropdown
  • Switch to a Card payment method
  • Select a new saved token
  • Save the subscription
  • Edit the subscription again
  • Now, you won't be able to find "Amazon Pay" from the available payment methods

In short, you should be able to show available Amazon Pay payment methods when editing a subscription, if the customer has any.
But these changes are interfering with the AJAX endpoint we're using to retrieve available payment methods.
I'm guessing that there might be other use cases (or extensions) that are affected, but I haven't been able to identify them, to be fully honest 😅
Here's an example of subscription that is using "Card" as a payment method: switching payment method doesn't show Amazon Pay in the list:
Image

And here's another subscription that already has Amazon Pay: in this case, Amazon Pay is present in the dropdown and its tokens are shown:
Image

I tested this behavior with #11283
On that branch, I can see Amazon Pay as a payment method when switching the subscription's payment method from Card.

Is there maybe another approach that can be used, instead of relying on is_admin()?

@frosso
Copy link
Contributor

frosso commented Feb 10, 2026

@oaratovskyi all I did was navigate to the block-based checkout page and click on the payment methods list

Screen.Recording.2026-02-10.at.3.46.23.PM.mov

@oaratovskyi
Copy link
Contributor

Thanks, @frosso ! See it now 👍

oaratovskyi and others added 6 commits February 11, 2026 18:16
Use enqueue_block_editor_assets hook to disable express checkout
gateways before WC reads their enabled state, avoiding false
"incompatible" warnings without affecting subscriptions or frontend.
Also simplify register_checkout_gateway and require gateway param
in WC_Payments_Blocks_Payment_Method constructor.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ed_at_checkout

Remove the is_admin_context relaxation for capability status check
that was added for block editor compatibility — now handled by the
enqueue_block_editor_assets hook. Clean up stale comments.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@oaratovskyi oaratovskyi requested a review from frosso February 11, 2026 16:45
@oaratovskyi
Copy link
Contributor

@frosso I have finally fixed and removed / updated stale code. The filter approach finally worked. Could you give it a try, please? 🙏

4p7DJg.mp4

@frosso
Copy link
Contributor

frosso commented Feb 11, 2026

Thank you @oaratovskyi ! I'm still reviewing the changes, I'm experimenting to see if there's an opportunity to simplify it even further :)

Copy link
Contributor

@frosso frosso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @oaratovskyi , thank you for your patience with this!
I think I'm seeing some changes that seem superfluous to the outcome we desire - specifically to the class-wc-payment-gateway-wcpay.php class with the init_settings and is_enabled methods, and to the class-wc-payments-blocks-payment-method.php class and its initialization.

FWIW, the change to the get_enabled_payment_method_config() method could also be achieved (or substituted) by adding another filter to this line: https://github.com/Automattic/woocommerce-payments/blob/develop/client/checkout/blocks/index.js#L50

In this commit you can see what I mean by reverting some of the changes: 88e7fd1

Could you please also take a look to ensure I'm not hallucinating? 😄

oaratovskyi and others added 3 commits February 12, 2026 17:21
…eway

Revert superfluous changes per review feedback: remove constructor from
WC_Payments_Blocks_Payment_Method, restore is_available() in is_active(),
simplify is_enabled() and register_checkout_gateway() back to develop state.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
parent::init_settings() already sets $this->enabled from settings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@oaratovskyi oaratovskyi requested a review from frosso February 12, 2026 15:32
@oaratovskyi
Copy link
Contributor

oaratovskyi commented Feb 12, 2026

@frosso and I had a huddle and aligned on the final iteration! 🎉
Francesco, please sign this off 🚀
I have updated the PR description to align with the final version.

Copy link
Contributor

@frosso frosso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the discussion and the back and forth, it's looking good! I think this new version significantly reduces the impact area 💪
Just a minor suggestion on the disable_express_checkout_in_block_editor method.

Single loop using gateway->get_payment_method() directly instead of
building an intermediate array of IDs with string composition.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Contributor

@frosso frosso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks again! 🚀

@oaratovskyi
Copy link
Contributor

@frosso Thanks for your quality reviews, timed feedback, and willingness to help, too! Could you please run the last smoke test before 🚢?

@oaratovskyi oaratovskyi added this pull request to the merge queue Feb 13, 2026
@oaratovskyi oaratovskyi removed this pull request from the merge queue due to a manual request Feb 13, 2026
@oaratovskyi oaratovskyi added this pull request to the merge queue Feb 13, 2026
Merged via the queue into develop with commit 37fbac9 Feb 13, 2026
43 checks passed
@oaratovskyi oaratovskyi deleted the fix/block-checkout-compatibility-detection branch February 13, 2026 11:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants