Skip to content

Implement payment method icons via WooCommerce's PaymentMethodLabel#11303

Merged
dmvrtx merged 16 commits intodevelopfrom
woopmnt-5540-improve-icon-positioning-approach-in-payment-method
Feb 5, 2026
Merged

Implement payment method icons via WooCommerce's PaymentMethodLabel#11303
dmvrtx merged 16 commits intodevelopfrom
woopmnt-5540-improve-icon-positioning-approach-in-payment-method

Conversation

@dmvrtx
Copy link
Contributor

@dmvrtx dmvrtx commented Jan 29, 2026

Fixes WOOPMNT-5540

Changes proposed in this Pull Request

Replaced custom PaymentMethodLabel component with a component available from WooCommerce Blocks.

Visually nothing should change on the checkout page. But it will make our checkout view better compatible with WooCommerce expectations.

Before:

image

After:

image

Testing instructions

  • On the checked out branch place items in the cart and head to the checkout page.
  • Payment method icons should be displayd in an appropriate size (height 24px)
  • Test mode badge (if applicable) should be present and not looking out of place.
  • Card brand icons should retain the overflow behaviour, i.e. compact if screen size doesn't allow to display all.

  • 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

@dmvrtx dmvrtx marked this pull request as ready for review January 29, 2026 15:51
@dmvrtx dmvrtx self-assigned this Jan 29, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Jan 29, 2026

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 11303 or branch name woopmnt-5540-improve-icon-positioning-approach-in-payment-method 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: bffb033
  • Build time: 2026-02-05 13:44:28 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 29, 2026

Size Change: -230 B (0%)

Total Size: 950 kB

Filename Size Change
release/woocommerce-payments/dist/blocks-checkout-rtl.css 2.87 kB -112 B (-4%)
release/woocommerce-payments/dist/blocks-checkout.css 2.87 kB -112 B (-4%)
release/woocommerce-payments/dist/blocks-checkout.js 54.1 kB -6 B (0%)
ℹ️ 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/cart-block-rtl.css 113 B
release/woocommerce-payments/dist/cart-block.css 112 B
release/woocommerce-payments/dist/cart-block.js 16.8 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 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 158 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.4 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 153 kB
release/woocommerce-payments/dist/subscription-edit-page.js 1.81 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

@dmvrtx dmvrtx marked this pull request as draft January 29, 2026 17:15
@dmvrtx dmvrtx requested a review from Copilot January 30, 2026 13:43
@dmvrtx dmvrtx marked this pull request as ready for review January 30, 2026 13:43
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR refactors the payment method label component to use WooCommerce Blocks' standard PaymentMethodLabel component instead of a custom implementation. The changes simplify the code by removing Stripe loading logic and appearance generation, while maintaining the same visual output through updated CSS that uses flexbox instead of grid layout.

Changes:

  • Replaced custom PaymentMethodLabel component with WooCommerce Blocks' PaymentMethodLabel
  • Refactored CSS from grid layout to flexbox for icon and badge positioning
  • Removed unnecessary Stripe loading hooks and appearance generation logic

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
client/checkout/blocks/payment-method-label.js Simplified component to use WooCommerce Blocks' PaymentMethodLabel with custom icon rendering
client/checkout/blocks/style.scss Converted from grid layout to flexbox for better compatibility
client/checkout/blocks/index.js Updated Label component creation to pass props through spread operator
changelog/woopmnt-5540-improve-icon-positioning-approach-in-payment-method Added changelog entry

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

dmvrtx and others added 2 commits January 30, 2026 14:50
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@dmvrtx dmvrtx requested review from a team and htdat and removed request for a team February 2, 2026 13:53
Copy link
Member

@htdat htdat left a comment

Choose a reason for hiding this comment

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

LGTM! Tested with both the current latest version of Woo 10.4.3 and the bleeding edge (dev) version of Woo. I have only a minor comment regarding the CSS class name, which is not a blocker to merge this this PR.

Image

justify-self: end;
}
// Card brand logos - move to the end (right side)
.payment-methods--logos {
Copy link
Member

Choose a reason for hiding this comment

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

Nitpick: I would like to have the prefix for this CSS class, as well as specific card rather than the generic payment method term.

Suggested change
.payment-methods--logos {
.wcpay-card--logos {

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point, but this style name is shared with the classic checkout, so I'll leave it for the separate change.

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.

given the frequency of the re-renders for each customer interaction, I think it'd be best to apply some performance tweaks

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 entertaining my changes, it's working well!

@dmvrtx dmvrtx added this pull request to the merge queue Feb 5, 2026
Merged via the queue into develop with commit 32ebf4d Feb 5, 2026
53 of 54 checks passed
@dmvrtx dmvrtx deleted the woopmnt-5540-improve-icon-positioning-approach-in-payment-method branch February 5, 2026 16:22
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.

4 participants