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

Expand WooPayments SSR entries to cover real HEs needs #7236

Merged
merged 6 commits into from
Sep 20, 2023

Conversation

vladolaru
Copy link
Contributor

@vladolaru vladolaru commented Sep 19, 2023

Fixes #7122

Changes proposed in this Pull Request

  • Add all the new WooPayments data points mentioned in the issue (and some that were missed)
  • Ensure a sane conditional logic between the WooPayments state and what data points are included in the SSR (especially when the payment gateway is not connected - no account data)
  • Avoid SSR HEX (HE eXperience) quirks wherever possible (especially around comma-separated lists that on SSR export get separated by new lines - this is not appropriate for small items lists like the enabled payment methods list).
  • Move the WooPayments SSR section at the top of the hooked sections (right after theme and overwritten templates).

Before:
Screenshot 2023-09-19 at 17 39 17

After with full details:
Screenshot 2023-09-19 at 17 41 05

After with no account connected:
Screenshot 2023-09-19 at 17 40 16

The exported SSR section looks like this:

### WooPayments ###

Version: 6.4.2
Connected to WPCOM: Yes
WPCOM Blog ID: 213164927
Account ID: acct_1NqYhAR4rnBgD8I0
Payment Gateway: Disabled
Test Mode: Enabled
UPE: Enabled (split)
UPE Enabled APMs: card,bancontact,giropay
WooPay: Enabled (checkout,cart)
WooPay Incompatible Extensions: No
Apple Pay / Google Pay: Enabled (product,cart)
Fraud Protection Level: advanced
Enabled Fraud Filters: AVS Verification,International IP Address,Order Items Threshold
Multi-currency: Enabled
Public Key Encryption: Disabled
Auth and Capture: Enabled
Documents: Enabled
Logging: Enabled

Testing instructions

  • Checkout the PR branch on your local client installation

Test with no WPCOM connection

  • To simulate no Jetpack connection, temporarily add a return false; here.
  • The WooPayments SSR section should look like this:
    Screenshot 2023-09-19 at 18 09 41

Test with no account (WooPayments not connected to the WooPayments server)

  • Remove the return false; added above
  • From the WooPayments Dev Tools, enable the Force the WCPay plugin to act as disconnected from the WCPay Server option
  • The WooPayments SSR section should look like this:
    Screenshot 2023-09-19 at 18 12 05

Test with an account (WooPayments is connected to the WooPayments server)

  • Uncheck the Force the WCPay plugin to act as disconnected from the WCPay Server from the WooPayments Dev Tools
  • Make sure your local installation is connected by going through the WooPayments onboarding, if necessary
  • The WooPayments SSR section should look like this:
    Screenshot 2023-09-19 at 18 14 01

Smoke test

  • Smoke test the WooPayments settings as much as you can (including enabling and disabling features via the WooPayments Dev Tools)
  • The WooPayments SSR section should reflect the changes, and the information should make sense.

  • 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

@vladolaru vladolaru requested a review from a team September 19, 2023 14:46
@vladolaru vladolaru self-assigned this Sep 19, 2023
@botwoo
Copy link
Collaborator

botwoo commented Sep 19, 2023

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 7236 or branch name add/7122-more-details-to-woo-ssr 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: 14cc4f7
  • Build time: 2023-09-20 08:48:29 UTC

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

@github-actions
Copy link
Contributor

github-actions bot commented Sep 19, 2023

Size Change: 0 B

Total Size: 1.41 MB

ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.03 kB
release/woocommerce-payments/assets/css/success.css 158 B
release/woocommerce-payments/dist/blocks-checkout-rtl.css 1.51 kB
release/woocommerce-payments/dist/blocks-checkout.css 1.51 kB
release/woocommerce-payments/dist/blocks-checkout.js 73.7 kB
release/woocommerce-payments/dist/checkout-rtl.css 440 B
release/woocommerce-payments/dist/checkout.css 441 B
release/woocommerce-payments/dist/checkout.js 28.7 kB
release/woocommerce-payments/dist/index-rtl.css 36.2 kB
release/woocommerce-payments/dist/index.css 36.2 kB
release/woocommerce-payments/dist/index.js 281 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.05 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 2.88 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 60.1 kB
release/woocommerce-payments/dist/multi-currency.css 2.88 kB
release/woocommerce-payments/dist/multi-currency.js 54.7 kB
release/woocommerce-payments/dist/order-rtl.css 676 B
release/woocommerce-payments/dist/order.css 679 B
release/woocommerce-payments/dist/order.js 40.9 kB
release/woocommerce-payments/dist/payment-gateways-rtl.css 690 B
release/woocommerce-payments/dist/payment-gateways.css 692 B
release/woocommerce-payments/dist/payment-gateways.js 38.4 kB
release/woocommerce-payments/dist/payment-request-rtl.css 146 B
release/woocommerce-payments/dist/payment-request.css 146 B
release/woocommerce-payments/dist/payment-request.js 11.6 kB
release/woocommerce-payments/dist/product-details.js 789 B
release/woocommerce-payments/dist/settings-rtl.css 8.9 kB
release/woocommerce-payments/dist/settings.css 8.91 kB
release/woocommerce-payments/dist/settings.js 231 kB
release/woocommerce-payments/dist/subscription-edit-page.js 669 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal-rtl.css 519 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 519 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 20.3 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 693 B
release/woocommerce-payments/dist/subscriptions-empty-state-rtl.css 117 B
release/woocommerce-payments/dist/subscriptions-empty-state.css 117 B
release/woocommerce-payments/dist/subscriptions-empty-state.js 19.4 kB
release/woocommerce-payments/dist/tos-rtl.css 230 B
release/woocommerce-payments/dist/tos.css 231 B
release/woocommerce-payments/dist/tos.js 21.9 kB
release/woocommerce-payments/dist/upe_checkout-rtl.css 440 B
release/woocommerce-payments/dist/upe_checkout.css 441 B
release/woocommerce-payments/dist/upe_checkout.js 34 kB
release/woocommerce-payments/dist/upe_split_checkout-rtl.css 440 B
release/woocommerce-payments/dist/upe_split_checkout.css 441 B
release/woocommerce-payments/dist/upe_split_checkout.js 34.6 kB
release/woocommerce-payments/dist/upe_with_deferred_intent_creation_checkout.js 36.6 kB
release/woocommerce-payments/dist/upe-blocks-checkout-rtl.css 1.51 kB
release/woocommerce-payments/dist/upe-blocks-checkout.css 1.51 kB
release/woocommerce-payments/dist/upe-blocks-checkout.js 39.5 kB
release/woocommerce-payments/dist/upe-split-blocks-checkout-rtl.css 1.51 kB
release/woocommerce-payments/dist/upe-split-blocks-checkout.css 1.51 kB
release/woocommerce-payments/dist/upe-split-blocks-checkout.js 41 kB
release/woocommerce-payments/dist/woopay-express-button-rtl.css 146 B
release/woocommerce-payments/dist/woopay-express-button.css 146 B
release/woocommerce-payments/dist/woopay-express-button.js 50.6 kB
release/woocommerce-payments/dist/woopay-rtl.css 3.85 kB
release/woocommerce-payments/dist/woopay.css 3.85 kB
release/woocommerce-payments/dist/woopay.js 71.6 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 633 B
release/woocommerce-payments/includes/subscriptions/assets/js/plugin-page.js 720 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.32 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.js 13.8 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.rtl.css 2.32 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.2 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.56 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.63 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.38 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.06 kB

compressed-size-action

@vladolaru vladolaru marked this pull request as ready for review September 19, 2023 15:18
Copy link
Contributor

@oaratovskyi oaratovskyi left a comment

Choose a reason for hiding this comment

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

@vladolaru everything works as a charm! And looks amazing, so much helpful info!

I have only one question here - is it expected that Stripe Link is shown as one of the UPE enabled APMs? Or it's better to show it separately as in WCPay UI?
image

image

anyway - pre-approving!

@oaratovskyi
Copy link
Contributor

p.s. tested some fraud filters 🎉
image

@vladolaru
Copy link
Contributor Author

Thank you, @oaratovskyi , for doing this review!

As for the Stripe Link question, I do not know, but internally we treat it as an APM, so I decided to leave it as such.

@vladolaru vladolaru enabled auto-merge September 20, 2023 08:52
@vladolaru vladolaru added this pull request to the merge queue Sep 20, 2023
Merged via the queue into develop with commit 30503da Sep 20, 2023
@vladolaru vladolaru deleted the add/7122-more-details-to-woo-ssr branch September 20, 2023 09:09
@frosso
Copy link
Contributor

frosso commented Sep 20, 2023

Thanks for working on this, @vladolaru ! This is great!

@vladolaru
Copy link
Contributor Author

Thank you @frosso! Woo HEs need all the help they can get, especially these days.

Copy link
Contributor

@fashuvo fashuvo 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 working on this. I always wondered how the SSR info is generated and sent back for. After going through the changes in this PR and also exploring how the render_status_report_section is hooked into other places, now I have a better understanding of the process.

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.

SSR: Indicate what features/settings are enabled
5 participants