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

Integrate Account Management component into the Settings Page #10287

Merged
merged 24 commits into from
Feb 12, 2025

Conversation

mordeth
Copy link
Contributor

@mordeth mordeth commented Jan 31, 2025

Fixes #9129

Changes proposed in this Pull Request

This PR introduces the Account Management component to the WooPayments settings page, allowing merchants to update their business details directly within WooCommerce. This enhancement eliminates the need to navigate to the Stripe Express dashboard, providing a more seamless and user-friendly experience.

Testing instructions

  • Check out the add/9129-account-management-component branch.
  • Ensure your server is listening for webhooks.
  • Reset any existing account if one is already connected.
  • Go to Payments > Connect and start a new onboarding process.
  • In the MOX flow, select “More than 100M” for annual revenue and choose other parameters as needed.
  • On the embedded step, write address_line1_no_match in Address line 1 and 1111 as last 4 digits of the SSN (to trigger certain verification conditions). You must pass in legitimate values for the city, state, and postal_code arguments. Leave phone number empty.

image

  • On the next screen, type 111111111 in the SSN to trigger identity mismatch.

image

  • For bank account, type 110000000 and 000999999992 to trigger another verification.

image

  • Notice that the details are incomplete. Click Agree and submit

image

  • After being redirected to the Overview page, go to Payments > Settings. Scroll down to the Account Details section and confirm that a loader appears before the account management component is fully displayed.

  • Verify the Account Management component is displayed successfully.

image

  • Click Edit button under Personal Details section.

image

  • Fill the required fields and click Save button.

image

  • If the section is still unverified, click the Edit button again and use Test Mode to validate the Personal ID.
  • Confirm that the section is successfully verified. Then, navigate to the Overview page and ensure that Payments are Enabled and Payouts are set to Automatic.

Testing progressive onboarding

*Reset the account created in the previous steps.

  • Start onboarding a new progressive account using the parameters below.
    Note: This may not be possible on a JN site if all slots are occupied.
image
  • Enter your details and click Continue.

  • On the next screen, review the information and select Agree and Submit.

  • After being redirected to the Overview page, go to Payments > Settings. Scroll down to the Account Details section and confirm that a loader appears before the account management component is fully displayed.

  • Verify the Account Management component is displayed successfully.

image

  • Click Edit button under Personal Details section.

image

  • Fill the required fields and click Save button.

image

  • If the section is still unverified, click the Edit button again and use Test Mode to validate the Personal ID.
  • Confirm that the section is successfully verified. Then, navigate to the Overview page and ensure that Payments are Enabled and Payouts are set to Automatic.

  • 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 Jan 31, 2025

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 10287 or branch name add/9129-account-management-component 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: 4dcdccb
  • Build time: 2025-02-10 15:57:40 UTC

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

Copy link
Contributor

github-actions bot commented Jan 31, 2025

Size Change: +6.08 kB (0%)

Total Size: 1.29 MB

Filename Size Change
release/woocommerce-payments/dist/settings-rtl.css 12 kB +507 B (+4%)
release/woocommerce-payments/dist/settings.css 11.9 kB +476 B (+4%)
release/woocommerce-payments/dist/settings.js 228 kB +5.09 kB (+2%)
ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.37 kB
release/woocommerce-payments/assets/css/admin.rtl.css 1.37 kB
release/woocommerce-payments/assets/css/success.css 189 B
release/woocommerce-payments/assets/css/success.rtl.css 190 B
release/woocommerce-payments/dist/blocks-checkout-rtl.css 2.67 kB
release/woocommerce-payments/dist/blocks-checkout.css 2.67 kB
release/woocommerce-payments/dist/blocks-checkout.js 55.3 kB
release/woocommerce-payments/dist/cart-block.js 17.2 kB
release/woocommerce-payments/dist/cart.js 5.73 kB
release/woocommerce-payments/dist/checkout-rtl.css 1.28 kB
release/woocommerce-payments/dist/checkout.css 1.28 kB
release/woocommerce-payments/dist/checkout.js 34.5 kB
release/woocommerce-payments/dist/express-checkout-rtl.css 236 B
release/woocommerce-payments/dist/express-checkout.css 236 B
release/woocommerce-payments/dist/express-checkout.js 15.7 kB
release/woocommerce-payments/dist/frontend-tracks.js 854 B
release/woocommerce-payments/dist/index-rtl.css 35.5 kB
release/woocommerce-payments/dist/index.css 35.5 kB
release/woocommerce-payments/dist/index.js 232 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.08 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 4.29 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 61.1 kB
release/woocommerce-payments/dist/multi-currency.css 4.29 kB
release/woocommerce-payments/dist/multi-currency.js 58.1 kB
release/woocommerce-payments/dist/order-rtl.css 740 B
release/woocommerce-payments/dist/order.css 740 B
release/woocommerce-payments/dist/order.js 42.5 kB
release/woocommerce-payments/dist/payment-gateways-rtl.css 1.34 kB
release/woocommerce-payments/dist/payment-gateways.css 1.34 kB
release/woocommerce-payments/dist/payment-gateways.js 39.1 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 20.1 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/subscription-edit-page.js 703 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 20.2 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 19.3 kB
release/woocommerce-payments/dist/tokenized-express-checkout-rtl.css 236 B
release/woocommerce-payments/dist/tokenized-express-checkout.css 236 B
release/woocommerce-payments/dist/tokenized-express-checkout.js 16.6 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.8 kB
release/woocommerce-payments/dist/woopay-direct-checkout.js 6.13 kB
release/woocommerce-payments/dist/woopay-express-button.js 23.3 kB
release/woocommerce-payments/dist/woopay-rtl.css 4.31 kB
release/woocommerce-payments/dist/woopay.css 4.28 kB
release/woocommerce-payments/dist/woopay.js 71 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 772 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.47 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.js 14.2 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.rtl.css 2.47 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.css 10 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.js 28.4 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.rtl.css 10 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 333 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 424 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 585 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 632 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

@mordeth mordeth changed the title Integrate Account Management component into the Settings Page” Integrate Account Management component into the Settings Page Feb 3, 2025
@mordeth mordeth changed the base branch from develop to update/10256-extract-account-settings-logic February 3, 2025 14:24
Base automatically changed from update/10256-extract-account-settings-logic to develop February 10, 2025 12:41
@mordeth mordeth requested a review from a team February 10, 2025 18:05
@mordeth mordeth self-assigned this Feb 10, 2025
@mordeth mordeth marked this pull request as ready for review February 10, 2025 18:05
@mordeth mordeth requested a review from orcungogus February 10, 2025 18:06
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.

Works well and the code looks good 🚢
Thanks for working on it 👍

@orcungogus
Copy link

Great job @mordeth, I’ve also done a review myself and the embedded account management component within WooPayments settings looks and works as expected.
loudly-identical jurassic ninja_wp-admin_admin php_page=wc-settings tab=checkout section=woocommerce_payments

@mordeth mordeth added this pull request to the merge queue Feb 12, 2025
Merged via the queue into develop with commit 1916341 Feb 12, 2025
28 checks passed
@mordeth mordeth deleted the add/9129-account-management-component branch February 12, 2025 06:40
@rogermattic
Copy link

I’ll add a few comments here, as I had a chance to QA this as well. Like @orcungogus said above, everything works great and as expected!

My comments below are purely visual tweaks, so feel free to disregard them if something isn’t possible to fix.

  1. Typesizes – would it be possible to bump the typesizes used for the headings down a little bit? To match the subsections style?
Screenshot 2025-02-12 at 14 13 58 also, the body copy to match the other sections settings? Screenshot 2025-02-12 at 14 23 16
  1. Active colour – Would it be possible to umatch the theme active colour for all the CTAs?
Screenshot 2025-02-12 at 14 15 56
  1. Bottom padding – would it be possible to match the bottom padding with the other sections's padding size? (Marked Payouts as an example on the screenshot cause I see that Transactions also stands out :D )
Screenshot 2025-02-12 at 14 20 18
  1. Section description – I was wondering if we could tweak it slightly so it reads:

View and edit your WooPayments account details, including personal, business, and public information.
or
Manage your WooPayments account details, including personal, business, and public information.

WDYT @orcungogus ?

Besides all of that I think this Account management is a great addition and (a note for the future) a great candidate to have its own section :)

BTW.

Option 2. Jurassic Ninja - available for logged-in A12s
🚀 Launch a JN site with this branch 🚀

Thanks for setting this up on jurassic.ninja – what a great way to share the testing site!

@mordeth
Copy link
Contributor Author

mordeth commented Feb 12, 2025

@rogermattic I’ll try to update the styling in a follow-up PR. Just a heads-up, these settings are provided by Stripe within an iframe, so our configuration options are limited.

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.

Add account management component on the Settings page
5 participants