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

Re-enable Direct-to-Checkout Feature Flag in WooPay OTP Iframe #8365

Merged

Conversation

rafaelzaleski
Copy link
Contributor

@rafaelzaleski rafaelzaleski commented Mar 11, 2024

Re-enable Direct-to-Checkout Feature Flag in WooPay OTP Iframe that was removed in #8116.

Testing instructions

Follow the testing instructions from #8133.


  • 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

@rafaelzaleski rafaelzaleski self-assigned this Mar 11, 2024
@botwoo
Copy link
Collaborator

botwoo commented Mar 11, 2024

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 8365 or branch name fix/re-add-direct-checkout-feature-flag-to-otp-iframe 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: ea7c138
  • Build time: 2024-03-15 14:03:13 UTC

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

Copy link
Contributor

github-actions bot commented Mar 11, 2024

Size Change: +26 B (0%)

Total Size: 1.28 MB

Filename Size Change
release/woocommerce-payments/dist/blocks-checkout.js 85.6 kB +13 B (0%)
release/woocommerce-payments/dist/checkout.js 36.9 kB +13 B (0%)
ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.06 kB
release/woocommerce-payments/assets/css/admin.rtl.css 1.06 kB
release/woocommerce-payments/assets/css/success.css 158 B
release/woocommerce-payments/assets/css/success.rtl.css 158 B
release/woocommerce-payments/dist/blocks-checkout-rtl.css 1.92 kB
release/woocommerce-payments/dist/blocks-checkout.css 1.91 kB
release/woocommerce-payments/dist/cart.js 4.02 kB
release/woocommerce-payments/dist/checkout-rtl.css 405 B
release/woocommerce-payments/dist/checkout.css 406 B
release/woocommerce-payments/dist/index-rtl.css 40 kB
release/woocommerce-payments/dist/index.css 40 kB
release/woocommerce-payments/dist/index.js 291 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.05 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 3.28 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 59.4 kB
release/woocommerce-payments/dist/multi-currency.css 3.29 kB
release/woocommerce-payments/dist/multi-currency.js 54.4 kB
release/woocommerce-payments/dist/order-rtl.css 719 B
release/woocommerce-payments/dist/order.css 721 B
release/woocommerce-payments/dist/order.js 41.7 kB
release/woocommerce-payments/dist/payment-gateways-rtl.css 1.21 kB
release/woocommerce-payments/dist/payment-gateways.css 1.21 kB
release/woocommerce-payments/dist/payment-gateways.js 38.4 kB
release/woocommerce-payments/dist/payment-request-rtl.css 155 B
release/woocommerce-payments/dist/payment-request.css 155 B
release/woocommerce-payments/dist/payment-request.js 12.4 kB
release/woocommerce-payments/dist/product-details-rtl.css 155 B
release/woocommerce-payments/dist/product-details.css 155 B
release/woocommerce-payments/dist/product-details.js 9.09 kB
release/woocommerce-payments/dist/settings-rtl.css 11 kB
release/woocommerce-payments/dist/settings.css 10.8 kB
release/woocommerce-payments/dist/settings.js 230 kB
release/woocommerce-payments/dist/subscription-edit-page.js 669 B
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 19.4 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 710 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.5 kB
release/woocommerce-payments/dist/tos-rtl.css 235 B
release/woocommerce-payments/dist/tos.css 236 B
release/woocommerce-payments/dist/tos.js 21 kB
release/woocommerce-payments/dist/woopay-direct-checkout.js 4.15 kB
release/woocommerce-payments/dist/woopay-express-button-rtl.css 155 B
release/woocommerce-payments/dist/woopay-express-button.css 155 B
release/woocommerce-payments/dist/woopay-express-button.js 52.6 kB
release/woocommerce-payments/dist/woopay-rtl.css 4.44 kB
release/woocommerce-payments/dist/woopay.css 4.41 kB
release/woocommerce-payments/dist/woopay.js 71 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 622 B
release/woocommerce-payments/includes/subscriptions/assets/js/plugin-page.js 812 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/i18n-loader.js 2.43 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/i18n-loader.js 1.01 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 522 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 581 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/babel.config.js 160 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.css 2.37 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.js 13.5 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.rtl.css 2.37 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.03 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-empty-state.css 291 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-order-statuses.css 403 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin.css 3.6 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/checkout.css 299 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/modal.css 742 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/view-subscription.css 572 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/wcs-upgrade.css 411 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin-pointers.js 544 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.8 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.min.js 3.83 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-coupon.js 544 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.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.min.js 11.6 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 502 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/payment-methods.js 355 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/single-product.js 429 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 781 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/modal.js 1.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/wcs-upgrade.js 1.27 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.css 392 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.js 3.05 kB

compressed-size-action

@rafaelzaleski rafaelzaleski requested a review from lovo-h March 11, 2024 15:44
Copy link
Contributor

@lovo-h lovo-h left a comment

Choose a reason for hiding this comment

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

Code changes look good but the required testing instructions do not pass.

I do not believe the tests are failing due to the changes in this PR, but I wanted to confirm whether this was expected and whether this issue is being tracked elsewhere.

Testing Instructions

  • Scenario 1 with _wcpay_feature_woopay_direct_checkout = 1:
    • ✅ You are not auto-redirected to the WooPay checkout after navigating to Merchant checkout with an email prepopulated.
    • ✅ The WooPay OTP modal does not appear.
  • Scenario 2 with _wcpay_feature_woopay_direct_checkout = 1:
    • ✅ The WooPay OTP modal appears after entering the email.
    • ✅ If authenticated, you are auto-redirected to the WooPay checkout after entering the email.
  • Scenario 3 with _wcpay_feature_woopay_direct_checkout = 1:
    • ✅ The WooPay OTP modal does not appear after entering an email not associated with a WooPay account.
    • ✅ You are not auto-redirected to the WooPay checkout after entering an email not associated with a WooPay account.
  • Scenario 4 with _wcpay_feature_woopay_direct_checkout = 0:
    • Scenario 1:
      • ❌ You are auto-redirected to the WooPay checkout after navigating to Merchant checkout with an email prepopulated.
      • ❌ The WooPay OTP modal does appear.
    • Scenario 2:
      • ✅ The WooPay OTP modal appears after entering the email.
      • ✅ If authenticated, you are auto-redirected to the WooPay checkout after entering the email.
    • Scenario 3:
      • ✅ The WooPay OTP modal does not appear after entering an email not associated with a WooPay account.
      • ✅ You are not auto-redirected to the WooPay checkout after entering an email not associated with a WooPay account.

Video Attachments

Scenario 4 / Scenario 1 Video Attachment

20240312_woopay_reenable_direct_checkout.mp4

Scenario 4 / Scenario 1 Video Attachment Description:

  • Confirms: _wcpay_feature_woopay_direct_checkout = 0.
  • Confirms: Manually inputting an email redirects to WooPay checkout.
  • Confirms: The expected behavior from Scenario 4 / Scenario 1 does not occur.

@rafaelzaleski
Copy link
Contributor Author

rafaelzaleski commented Mar 14, 2024

@lovo-h, the wc/store/payment endpoint (link) is accessible only within the checkout block context. In the shortcode checkout, it returns an empty object, leading to the user redirection condition being false (hasWCPayPaymentMethod = false).

I'll create a new issue to monitor this bug. I believe we can proceed with merging this PR as it isn't the source of the malfunction. I also left a comment in the PR that introduced this condition.

@rafaelzaleski
Copy link
Contributor Author

Issue created: #8398

@rafaelzaleski rafaelzaleski requested a review from lovo-h March 15, 2024 14:00
@lovo-h
Copy link
Contributor

lovo-h commented Mar 15, 2024

@rafaelzaleski , good find.

I'll create a new issue to monitor this bug. I believe we can proceed with merging this PR as it isn't the source of the malfunction.

Thank you. I agree, that sounds like a good plan 👍

Copy link
Contributor

@lovo-h lovo-h left a comment

Choose a reason for hiding this comment

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

LGTM! 👍

@rafaelzaleski rafaelzaleski added this pull request to the merge queue Mar 15, 2024
Merged via the queue into develop with commit 211dee6 Mar 15, 2024
25 of 26 checks passed
@rafaelzaleski rafaelzaleski deleted the fix/re-add-direct-checkout-feature-flag-to-otp-iframe branch March 15, 2024 16:43
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.

3 participants