Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use ECE buttons during style preview in settings when ECE is enabled #9028

Merged
merged 33 commits into from
Jul 12, 2024

Conversation

reykjalin
Copy link
Contributor

@reykjalin reykjalin commented Jun 28, 2024

Fixes #9007

Changes proposed in this Pull Request

  • Use Stripe's Express Checkout Element (ECE) to render the preview buttons in the WooPayments settings.

Questions for design

  • Should we have the preview display both buttons when available or try to always limit to just 1 button? We're going to display all available buttons. See Use ECE buttons during style preview in settings when ECE is enabled #9028 (comment).
    • Safari now supports showing both Google Pay and Apple Pay so we won't always know whether the ECE will show only Google Pay or both Apple Pay or Google Pay.
    • The method used to decide whether to show only Apple Pay (via ApplePaySession.canMakePayments()) is not fool-proof. We can't tell whether a customer has a card added to their wallet, in which case the button might not show up, resulting in no button in the preview.
      • This should result in an info notice informing them of what they need to do to display the buttons (see below).
Multiple express button preview Single express button preview
Screen.Recording.2024-07-05.at.2.31.56.AM.mov
Screen.Recording.2024-07-03.at.10.58.13.PM.mov

Info notice

image

Testing instructions

Setup

  1. Enable ECE: npm run wp option set _wcpay_feature_stripe_ece 1.
  2. Make sure your test store is served over public-facing, HTTPS-enabled domain. Jurassic Tube is the recommended solution.
  3. (For ApplePay) Register your domain with the following request:
curl https://api.stripe.com/v1/payment_method_domains \
     # Don't forget the `:` at the end!
  -u "<secret key, sk_xxx or rk_xxx>:" \
  -H "Stripe-Account: <merchant account ID>" \
     # Example: my.domain.com
  -d domain_name="<your_url>"
  1. Make sure WooPay is disabled.
  2. Open the WooPayments settings and navigate to the Apple Pay/Google Pay customization.

Make sure an info notice is displayed when no button can be rendered

  1. Remove the HTTPS check here:

  1. Make sure WooPay is disabled.
  2. Open your site with a non-HTTPS-enabled domain.
  3. Make sure you see the info notice that's shown above in this PR description.

Test button settings

Important

You need to perform this test in both Chrome (or a Chromium based browser) logged into Google Pay and Safari with Apple Pay enabled.

  1. Test the various Apple Pay/Google Pay customization settings and make sure the button preview is reactive.

  • 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

@botwoo
Copy link
Collaborator

botwoo commented Jun 28, 2024

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 9028 or branch name add/9007-use-ece-for-express-button-preview 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: 23eb692
  • Build time: 2024-07-12 03:59:38 UTC

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

Copy link
Contributor

github-actions bot commented Jun 28, 2024

Size Change: +517 B (0%)

Total Size: 1.28 MB

Filename Size Change
release/woocommerce-payments/dist/index.js 295 kB +22 B (0%)
release/woocommerce-payments/dist/multi-currency-switcher-block.js 59.9 kB +16 B (0%)
release/woocommerce-payments/dist/multi-currency.js 55 kB +15 B (0%)
release/woocommerce-payments/dist/order.js 42 kB +11 B (0%)
release/woocommerce-payments/dist/payment-gateways.js 38.9 kB +17 B (0%)
release/woocommerce-payments/dist/settings-rtl.css 11.2 kB +3 B (0%)
release/woocommerce-payments/dist/settings.css 11.1 kB +4 B (0%)
release/woocommerce-payments/dist/settings.js 215 kB +429 B (0%)
ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.08 kB
release/woocommerce-payments/assets/css/admin.rtl.css 1.08 kB
release/woocommerce-payments/assets/css/success.css 173 B
release/woocommerce-payments/assets/css/success.rtl.css 173 B
release/woocommerce-payments/dist/blocks-checkout-rtl.css 2.08 kB
release/woocommerce-payments/dist/blocks-checkout.css 2.08 kB
release/woocommerce-payments/dist/blocks-checkout.js 60.9 kB
release/woocommerce-payments/dist/bnpl-announcement-rtl.css 528 B
release/woocommerce-payments/dist/bnpl-announcement.css 529 B
release/woocommerce-payments/dist/bnpl-announcement.js 20.1 kB
release/woocommerce-payments/dist/cart-block.js 15.4 kB
release/woocommerce-payments/dist/cart.js 4.87 kB
release/woocommerce-payments/dist/checkout-rtl.css 600 B
release/woocommerce-payments/dist/checkout.css 600 B
release/woocommerce-payments/dist/checkout.js 31.7 kB
release/woocommerce-payments/dist/express-checkout-rtl.css 154 B
release/woocommerce-payments/dist/express-checkout.css 154 B
release/woocommerce-payments/dist/express-checkout.js 6.31 kB
release/woocommerce-payments/dist/index-rtl.css 41.1 kB
release/woocommerce-payments/dist/index.css 41 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.05 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 3.41 kB
release/woocommerce-payments/dist/multi-currency.css 3.41 kB
release/woocommerce-payments/dist/order-rtl.css 730 B
release/woocommerce-payments/dist/order.css 730 B
release/woocommerce-payments/dist/payment-gateways-rtl.css 1.35 kB
release/woocommerce-payments/dist/payment-gateways.css 1.35 kB
release/woocommerce-payments/dist/payment-request-rtl.css 154 B
release/woocommerce-payments/dist/payment-request.css 154 B
release/woocommerce-payments/dist/payment-request.js 5.9 kB
release/woocommerce-payments/dist/plugins-page-rtl.css 386 B
release/woocommerce-payments/dist/plugins-page.css 386 B
release/woocommerce-payments/dist/plugins-page.js 19.4 kB
release/woocommerce-payments/dist/product-details-rtl.css 397 B
release/woocommerce-payments/dist/product-details.css 398 B
release/woocommerce-payments/dist/product-details.js 11.2 kB
release/woocommerce-payments/dist/subscription-edit-page.js 668 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal-rtl.css 524 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 524 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 19.5 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 694 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 18.6 kB
release/woocommerce-payments/dist/tokenized-payment-request-rtl.css 154 B
release/woocommerce-payments/dist/tokenized-payment-request.css 154 B
release/woocommerce-payments/dist/tokenized-payment-request.js 6.62 kB
release/woocommerce-payments/dist/tos-rtl.css 235 B
release/woocommerce-payments/dist/tos.css 235 B
release/woocommerce-payments/dist/tos.js 21 kB
release/woocommerce-payments/dist/woopay-direct-checkout.js 5.25 kB
release/woocommerce-payments/dist/woopay-express-button-rtl.css 154 B
release/woocommerce-payments/dist/woopay-express-button.css 154 B
release/woocommerce-payments/dist/woopay-express-button.js 15.6 kB
release/woocommerce-payments/dist/woopay-rtl.css 4.26 kB
release/woocommerce-payments/dist/woopay.css 4.23 kB
release/woocommerce-payments/dist/woopay.js 69.6 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/src/js/i18n-loader.js 1.02 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 20 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 20 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 392 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 521 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 584 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-admin-create-user.css 215 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 721 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 520 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/babel.config.js 159 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.css 2.36 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.js 13.6 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.rtl.css 2.36 kB
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

@reykjalin reykjalin requested review from elizaan36, nikkivias, pierorocca, a team and cesarcosta99 and removed request for a team July 4, 2024 03:16
@reykjalin reykjalin marked this pull request as ready for review July 4, 2024 03:16
if ( canRenderButtons ) {
return (
<div
key={ `${ buttonType }-${ height }-${ theme }` }
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I had to use the key prop here to force a rerender of the whole component when any of these props change because I found out that the <ExpressCheckoutElement> isn't updated when the options prop changes.

This causes an unfortunate "flash" where the button disappears entirely until it can be re-rendered with the new settings. But AFAICT there is no way around it.

Although I guess we could render several ECE's, each with a different configuration of the settings and the settings just dictate which ones have display: none set? 🤔
That probably wouldn't cause a flash like the current implementation, but it might make loading the page a little heavy? @pierorocca @elizaan36 @nikkivias what do we think here from a design perspective? (see video in description for a demo)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Tested this a little more and was able to remove the height from the key. Also didn't need to include the border radius (now that #9010 is merged) so changing the height and border radius feels much better than the theme or CTA 🎉

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Here's a demonstration of the lag in re-rendering the buttons:

Screen.Recording.2024-07-08.at.6.38.46.PM.mov

Choose a reason for hiding this comment

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

The flash is a little odd, especially since only the Apple Pay and Google Pay buttons are flashing.

That probably wouldn't cause a flash like the current implementation, but it might make loading the page a little heavy?

Could you share more on how loading the page would be heavy?

Copy link
Contributor Author

@reykjalin reykjalin Jul 9, 2024

Choose a reason for hiding this comment

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

Could you share more on how loading the page would be heavy?

Yes! The flashing is because the Stripe buttons are loaded in an iframe from Stripe's systems, and it takes a bit to initialize the buttons. The "solution" to the flashing I'm proposing would be to load all possible variations of the buttons, and hide them all via display: none;, except the one that matches the current configuration.

When the configuration is changed, instead of recreating the iframe with the buttons we would just hide the one that's currently visible and show the one that matches the selected configuration.

The page would be heavy to load because there would be 12 different iframes on the page, all showing different variations of the buttons (with only 1 of those visible at a time) instead of using just one iframe. Basically making the page slower to load, but it should be snappy once it's loaded.

I hope that's a good enough explanation, but please let me know if you have any further questions!

Important

Important disclaimer: I haven't tested the proposed solution here, but I think it should work.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@elizaan36 @pierorocca @nikkivias just to make sure this isn't holding up merging this PR I've created #9091 to track this issue specifically and we can keep working on it from there, if we decide this is something we need to improve.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

FYI @bborman22 ^

client/settings/wcpay-settings-context.js Show resolved Hide resolved
Copy link
Contributor

@cesarcosta99 cesarcosta99 left a comment

Choose a reason for hiding this comment

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

I left some comments but this is looking nice and it's testing well 👍

  • Make sure an info notice is displayed when no button can be rendered ✅
  • Test button settings ⚠️
    • I tested all combinations possible for the Apple Pay button ✅
    • I tested all combinations possible for the Google Pay button and mostly worked fine. However, there might be a problem when the CTA is "Buy with", it looks like this is the only CTA that's not rendering accordingly. See images below.
Only icon Buy with Donate with Book with
image image image image

@reykjalin
Copy link
Contributor Author

reykjalin commented Jul 5, 2024

there might be a problem when the CTA is "Buy with", it looks like this is the only CTA that's not rendering accordingly. See images below.

For whatever reason the Buy with text just isn't displayed on the GPay button 🤷‍♂️ If you test Apple Pay you'll see that the CTA is fine, but it won't render on the GPay button and Stripe uses the same buttonType prop on both buttons for that CTA ('buy').

So I'm not sure why it's happening, but I suspect it has something to do with "buy" being the default use of the button so maybe they feel that it's redundant?

EDIT: I think this has to do with the GPay button showing the last 4 digits of your credit card? You can see in the new recording of multiple buttons showing in the PR description that the narrower version of the button (no last 4 digits) has the correct CTAs.

@reykjalin
Copy link
Contributor Author

As for the design issues I'm going to open a separate issue for that. I think it'll be better to figure out what sort of layout we're going to implement and then update the preview to follow that, rather than doing something now with the preview that may not end up aligning with the design we arrive at.

@reykjalin
Copy link
Contributor Author

@pierorocca @bborman22 I've opened #9066 (comment) to track the remaining design issues we need to resolve.

@bborman22
Copy link
Contributor

A follow-up question to #9047, is PayPal registrering each button as individual payment methods?

I'm not able to get the Venmo button to load on cart block and checkout block (though it loads on product and shortcodes). But looking into it, they do appear to register each button individually with Blocks. In my case with Venmo not loading that also creates a gap similar to what we were witnessing with ECE and exploring ways to address it.

afjueI.png

Copy link
Contributor

@cesarcosta99 cesarcosta99 left a comment

Choose a reason for hiding this comment

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

Thanks for addressing the requested changes 🎉 The code looks good, but a test case requires attention:

  • Make sure an info notice is displayed when no button can be rendered ⚠️
    • Check comments below.
  • Test button settings ✅
    • All combinations possible for the Apple Pay button
    • All combinations possible for the Google Pay button

I think this has to do with the GPay button showing the last 4 digits of your credit card? You can see in the new recording of multiple buttons showing in the PR description that the narrower version of the button (no last 4 digits) has the correct CTAs.

I think you're right 👍 When I tested it on Safari (because now Google Pay is displayed there as well), where I'm not logged on my Google account, the "Buy with" CTA is being displayed.

@reykjalin reykjalin requested a review from cesarcosta99 July 8, 2024 22:30
@pierorocca
Copy link
Contributor

Also related to the inline notice, and now that we're displaying all buttons when available, should we remove the BrowserHelpText now that we have this new notice in place? We may display it just on Chrome, however, we may want to hide it when the inline notice is being shown.

It's a good callout @cesarcosta99. Apple announced at WWDC24 that they'll bring Apple Pay to all browsers on Mac OS this year. I don't know the timing but I'd expect Stripe to follow suit and support it. That would close a big chunk of non-supported browsers.

Based on the Stripe supported browser list, the two most relevant scenarios where a button fails to display are:

  1. Displaying Apple Pay when Safari is not used on desktop (Apple is adding support soon)
  2. Displaying Google Pay when Firefox is used on desktop.

For 1, display "To preview the Apple Pay button, view this page in the Safari browser."
For 2, display "To preview the Apple Pay and Google Pay buttons, view this page in the Safari and Chrome browsers."

Is this an appropriate option?

@pierorocca
Copy link
Contributor

In my case with Venmo not loading that also creates a gap similar to what we were witnessing with ECE and exploring ways to address it.

Thanks @bborman22. Do you think this is WooPayments caused or a general issue with the checkout block?

@elizaan36
Copy link

what sort of layout we're going to implement and then update the preview to follow that

@pierorocca @reykjalin 👋 The buttons should wrap and align left on the 2nd line. Not sure why they're aligning to the right in the screenshot here for blocks, this seems like a bug.

@alexflorisca
Copy link
Member

[The huge gap between the WooPay button and the Apple and Google buttons below it.]?

I've seen this too in some of my testing. I don't know if this comes from WooPayments or not yet but it's worth looking into. Tends to happen in Safari and Firefox

Calling out the 3 button layout in Blocks Checkout doesn't adhere to design's guidelines AND chatting with Daniel he's agreed the design guideline itself looks unbalanced and that the 3rd button on the 2nd row might be better centered. Looking for @alexflorisca's guidance on 2.

I've just crated a PR to address the layout problem. Each button will have a minimum width of 240px, all buttons displayed equally widths, and a max of 2 columns. It'll look something like this

Screen.Recording.2024-07-09.at.17.04.12.mov

For me the buttons render ok with ECE when they are rendered individually.

@reykjalin reykjalin force-pushed the add/9007-use-ece-for-express-button-preview branch from 4863d33 to 3e8933b Compare July 10, 2024 02:45
@reykjalin
Copy link
Contributor Author

For 1, display "To preview the Apple Pay button, view this page in the Safari browser."
For 2, display "To preview the Apple Pay and Google Pay buttons, view this page in the Safari and Chrome browsers."

Is this an appropriate option?

@pierorocca We're removing the help text: #9028 (comment)

The buttons should wrap and align left on the 2nd line. Not sure why they're aligning to the right in the #9028 (comment) for blocks, this seems like a bug.

@elizaan36 It's a bug, but at the same time unavoidable in the current implementation. The way the new ECE components work is that multiple buttons are rendered in one container. The Checkout block has different breakpoints for wrapping content than Stripe's ECE container, so you end up with a weird layout.

We're going to address this with #9045 and render multiple ECE containers so each ECE button will be rendered individually.

@pierorocca
Copy link
Contributor

For 1, display "To preview the Apple Pay button, view this page in the Safari browser."
For 2, display "To preview the Apple Pay and Google Pay buttons, view this page in the Safari and Chrome browsers."
Is this an appropriate option?

@pierorocca We're removing the help text: #9028 (comment)

That works when the insecure notice is presented. When it's a secure connection and there's no notice, as hightlighted here #9028 (comment) there are still 2 cases where the buttons shown don't match what the merchant is expecting to see. Are you planning to use the same inline notice with different copy? Or am I missing something?

@reykjalin
Copy link
Contributor Author

When it's a secure connection and there's no notice, as hightlighted here #9028 (comment) there are still 2 cases where the buttons shown don't match what the merchant is expecting to see.

@pierorocca We always show a notice when a button isn't loaded, and I'd argue if the merchant is in Chrome they should only expect to see the Google Pay button. See the screenshots:

Browser Screenshot
Chrome (http, logged in, logged out) image
Chrome (https, logged into GPay) image
Chrome (https, logged out of GPay) image
Safari (http) image
Safari (https) image
Firefox (http) image
Firefox (https) image

@pierorocca
Copy link
Contributor

That works. There might be some merchant confusion in the short term based on support tickets I've seen in the past. As Apple and Stripe add non Safari support for Apple Pay Later this year that confusion will become a non-issue.

The https version for Firefox is confusing to me but I'm fine with it to simplify the implementation. Firefox has a market share size too small to make it relevant.

I appreciate the visuals, they helped a lot.

Copy link
Contributor

@cesarcosta99 cesarcosta99 left a comment

Choose a reason for hiding this comment

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

Thanks for all your hard work here! Code LGTM and all tests passed 🚀

  • Make sure an info notice is displayed when no button can be rendered ✅
    • Tested with:
      • Firefox, Chrome and Safari.
      • HTTP and HTTPS.
      • WooPay and Apple Pay and Google Pay enabled and disabled.
  • Test button settings ✅
    • All combinations possible for the Apple Pay button
    • All combinations possible for the Google Pay button

@reykjalin reykjalin enabled auto-merge July 12, 2024 03:56
@reykjalin reykjalin added this pull request to the merge queue Jul 12, 2024
Merged via the queue into develop with commit ba3b7f7 Jul 12, 2024
23 checks passed
@reykjalin reykjalin deleted the add/9007-use-ece-for-express-button-preview branch July 12, 2024 04:10
lovo-h pushed a commit that referenced this pull request Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update the settings preview to use ECE
8 participants