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

[GlobalStep] "Legal personal name" and "Email address" fails to fill automatically which were provided in the "WooPayments wizard" on Stripe KYC page. #8372

Closed
1 of 3 tasks
gglobalstep opened this issue Mar 12, 2024 · 11 comments
Labels
focus: account lifecycle priority: medium The issue/PR is medium priority—non-critical functionality loss, minimal effect on usability type: bug The issue is a confirmed bug.

Comments

@gglobalstep
Copy link

gglobalstep commented Mar 12, 2024

Bug Description:

"Legal personal name" and "Email address" fails to fill automatically which were provided in the "WooPayments wizard" on Stripe KYC page.

Environment:

Woocommerce Version: WooCommerce 8.6.1
WooCommerce Payments: 7.4.0-test-1
WordPress version: v6.4.3

PC:
Windows 10,
Chrome(Version 122.0.6261.95)
Firefox (Version 123.0.1)

Steps To Reproduce:

  1. Create any test site.
  2. Finish setup wizard using United States address as a store address without selecting WooCommerce Payments on Business Details step.
  3. Install and activate all the required plugins.
  4. Install the latest stable version of WooCommerce Payments 7.4.0-test-1
  5. Ensure that Enable the WCPay dev mode is checked in the WCPay Dev Tools settings.
  6. Click on the Payments menu item to go to the Payments Connect page.
  7. Click on the Finish setup button and you should be redirected to the Onboarding wizard.
  8. Make sure you see a notice that "Dev mode is enabled, only test accounts will be created."
  9. Make sure that the first radio option I’d like to set up payments on my own store is selected and click on Continue.
  10. You should now see the second step asking for personal details like first and last name, email, and phone number. Fill in all the fields and click on Continue.
  11. You should now see the third step asking for business details like business's legal name, website, country, etc. Some fields might be prefilled. Fill in all the fields and make sure that for the business legal structure field (labeled What type of legal entity is your business?) you choose the Individual select option. Click on Continue.
  12. You should now see the final step of the wizard asking for an estimated annual Ecommerce revenue and timeline for taking your store live. Choose the Less than 250k option for the select field labeled with What is your estimated annual Ecommerce revenue (USD)?, and Within 1 month for the select field labeled with What is the estimated timeline for taking your store live?. Click on Continue.
  13. You should see a loading step and then be redirected to the Stripe KYC.
  14. Leave the KYC process immediately by clicking Return to WooPayments.
  15. You will be redirected to the Payments > Overview page. Go to the Account details page section and make sure that Payments are disabled.
  16. Click "Finish setup" button on the top of the Overview page, and you'll be redirected to the Stripe KYC again.
  17. In the Stripe KYC, observe that "Legal personal name" and "Email address" fails to fill automatically which were provided in the "WooPayments wizard"

Details:

blog ID: 230562310

Instruction Link:

https://github.com/Automattic/woocommerce-payments/wiki/Testing-instructions-for-critical-flows#onboard-via-payments-connect

Actual Result:

"Legal personal name" and "Email address" fails to fill automatically which were provided in the "WooPayments wizard" on Stripe KYC page.

Expected Result:

"Legal personal name" and "Email address" should be filled automatically which were provided in the "WooPayments wizard" on Stripe KYC page.

Video:

8372.mp4

Isolating the problem (mark completed items with an [x]):

  • I have deactivated other plugins and confirmed this bug occurs when only WooCommerce plugin is active.
  • This bug happens with a default WordPress theme active, or Storefront.
  • I can reproduce this bug consistently using the steps above.

`

WordPress Environment

WC Version: 8.6.1
REST API Version: ✔ 8.6.1
WC Blocks Version: ✔ 11.8.0-dev
Action Scheduler Version: ✔ 3.7.1
Log Directory Writable: ✔
WP Version: 6.4.3
WP Multisite: –
WP Memory Limit: 512 MB
WP Debug Mode: –
WP Cron: ✔
Language: en_US
External object cache: ✔

Server Environment

Server Info: nginx
PHP Version: 8.1.27
PHP Post Max Size: 2 GB
PHP Time Limit: 1200
PHP Max Input Vars: 6144
cURL Version: 8.4.0
OpenSSL/3.0.11

SUHOSIN Installed: –
MySQL Version: 10.6.17-MariaDB-log
Max Upload Size: 2 GB
Default Timezone is UTC: ✔
fsockopen/cURL: ✔
SoapClient: ✔
DOMDocument: ✔
GZip: ✔
Multibyte String: ✔
Remote Post: ✔
Remote Get: ✔

Database

WC Database Version: 8.6.1
WC Database Prefix: wp_
Total Database Size: 3.14MB
Database Data Size: 1.38MB
Database Index Size: 1.76MB
wp_woocommerce_sessions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_api_keys: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_attribute_taxonomies: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_downloadable_product_permissions: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_woocommerce_order_items: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_order_itemmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_tax_rates: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_woocommerce_tax_rate_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_shipping_zones: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_woocommerce_shipping_zone_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_shipping_zone_methods: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_woocommerce_payment_tokens: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_payment_tokenmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_log: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_actions: Data: 0.02MB + Index: 0.11MB + Engine InnoDB
wp_actionscheduler_claims: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_groups: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_logs: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_commentmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_comments: Data: 0.02MB + Index: 0.09MB + Engine InnoDB
wp_jetpack_sync_queue: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_links: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_options: Data: 0.27MB + Index: 0.06MB + Engine InnoDB
wp_postmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_posts: Data: 0.06MB + Index: 0.06MB + Engine InnoDB
wp_termmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_terms: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_term_relationships: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_term_taxonomy: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_usermeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_users: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_wc_admin_notes: Data: 0.06MB + Index: 0.00MB + Engine InnoDB
wp_wc_admin_note_actions: Data: 0.05MB + Index: 0.02MB + Engine InnoDB
wp_wc_category_lookup: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_wc_customer_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_download_log: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_orders: Data: 0.02MB + Index: 0.11MB + Engine InnoDB
wp_wc_orders_meta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_order_addresses: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_wc_order_coupon_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_order_operational_data: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_order_product_lookup: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_wc_order_stats: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_wc_order_tax_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_product_attributes_lookup: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_product_download_directories: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_product_meta_lookup: Data: 0.02MB + Index: 0.09MB + Engine InnoDB
wp_wc_rate_limits: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_reserved_stock: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_wc_tax_rate_classes: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_webhooks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB

Post Type Counts

attachment: 1
page: 7
post: 2
wp_navigation: 1
wp_template: 2

Security

Secure connection (HTTPS): ✔
Hide errors from visitors: ✔

Active Plugins (5)

Query Monitor: by John Blackbourn – 3.15.0
Companion Plugin: by Osk – 1.30
WooCommerce Payments Dev Tools: by Automattic –
WooPayments: by Automattic – 7.4.0-test-1
WooCommerce: by Automattic – 8.6.1

Inactive Plugins (1)

Akismet Anti-spam: Spam Protection: by Automattic - Anti-spam Team – 5.3.1

Dropin Plugins (3)

advanced-cache.php: advanced-cache.php
db.php: Query Monitor Database Class (Drop-in)
object-cache.php: Memcached

Settings

API Enabled: –
Force SSL: –
Currency: USD ($)
Currency Position: left
Thousand Separator: ,
Decimal Separator: .
Number of Decimals: 2
Taxonomies: Product Types: external (external)
grouped (grouped)
simple (simple)
variable (variable)

Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)
exclude-from-search (exclude-from-search)
featured (featured)
outofstock (outofstock)
rated-1 (rated-1)
rated-2 (rated-2)
rated-3 (rated-3)
rated-4 (rated-4)
rated-5 (rated-5)

Connected to Woo.com: –
Enforce Approved Product Download Directories: ✔
HPOS feature screen enabled: ✔
HPOS feature enabled: ✔
Order datastore: Automattic\WooCommerce\Internal\DataStores\Orders\OrdersTableDataStore
HPOS data sync enabled: –

WC Pages

Shop base: #5 - /shop/
Cart: #6 - /cart/
Checkout: #7 - /checkout/
My account: #8 - /my-account/
Terms and conditions: ❌ Page not set

Theme

Name: Twenty Twenty-Four
Version: 1.0
Author URL: https://wordpress.org
Child Theme: ❌ – If you are modifying WooCommerce on a parent theme that you did not build personally we recommend using a child theme. See: How to create a child theme
WooCommerce Support: ❌ Not declared

Templates

Overrides: /srv/htdocs/wp-content/plugins/woocommerce/templates/block-notices/error.php
/srv/htdocs/wp-content/plugins/woocommerce/templates/block-notices/notice.php
/srv/htdocs/wp-content/plugins/woocommerce/templates/block-notices/success.php

WooPayments

Version: 7.4.0-test-1
Connected to WPCOM: Yes
WPCOM Blog ID: 230562310
Account ID: acct_1OtXU2FmZmKfjjNI
Payment Gateway: ❌ Needs setup
Test Mode: Enabled
Enabled APMs: card
WooPay: Disabled
WooPay Incompatible Extensions: No
Apple Pay / Google Pay: Enabled (product,cart,checkout)
Fraud Protection Level: basic
Multi-currency: Enabled
Public Key Encryption: Disabled
Auth and Capture: Enabled
Documents: Disabled
Logging: Enabled

Admin

Enabled Features: activity-panels
analytics
product-block-editor
coupons
core-profiler
customer-effort-score-tracks
import-products-task
experimental-fashion-sample-products
shipping-smart-defaults
shipping-setting-tour
homescreen
marketing
mobile-app-banner
navigation
onboarding
onboarding-tasks
product-variation-management
product-virtual-downloadable
product-external-affiliate
product-grouped
product-linked
remote-inbox-notifications
remote-free-extensions
payment-gateway-suggestions
shipping-label-banner
subscriptions
store-alerts
transient-notices
woo-mobile-welcome
wc-pay-promotion
wc-pay-welcome-page

Disabled Features: customize-store
minified-js
new-product-management-experience
product-pre-publish-modal
settings
async-product-editor-category-field

Daily Cron: ✔ Next scheduled: 2024-03-13 15:36:37 +00:00
Options: ✔
Notes: 66
Onboarding: completed

Action Scheduler

Complete: 3
Oldest: 2024-03-12 15:38:55 +0000
Newest: 2024-03-12 15:41:57 +0000

Pending: 1
Oldest: 2024-03-13 15:38:55 +0000
Newest: 2024-03-13 15:38:55 +0000

Status report information

Generated at: 2024-03-12 16:03:42 +00:00
`

@gglobalstep gglobalstep added the type: bug The issue is a confirmed bug. label Mar 12, 2024
@oaratovskyi
Copy link
Contributor

I checked the logs c07b488fd476ceffb7e07eac0d386f0f-logstash, the reason is full slots for PO accounts
[Onboarding] Failed to create Progressive Onboarding account because all PO slots are full. Falling back to creating a regular account.
cc @vladolaru @anu-rock @dmallory42

@oaratovskyi
Copy link
Contributor

Related discussion p1710411783570979-slack-C03KTTK2YMA

@anu-rock
Copy link
Contributor

[Onboarding] Failed to create Progressive Onboarding account because all PO slots are full. Falling back to creating a regular account.

@oaratovskyi Am I understanding correctly that the above error is the root cause and this GS issue is just a symptom of it? Do we need to fix anything other than the root cause?

@anu-rock anu-rock added the needs prioritisation Triage finished and issues are ready for the following processing. label Mar 15, 2024
@dmallory42
Copy link
Contributor

Am I understanding correctly that the above error is the root cause and this GS issue is just a symptom of it? Do we need to fix anything other than the root cause?

Yes, this is my understanding too. The above error isn't necessarily a bug, it's expected behaviour that it would happen sometimes. This shouldn't be a blocker towards release.

@vladolaru
Copy link
Contributor

@oaratovskyi @dmallory42 @anu-rock Looking at the account creation logic, it seems we do miss a prefill path: if we fail to create a PO account, we don't attempt to prefill a regular account, but jump straight to a not-prefilled regular account.

We should have separate stages for PO prefilled, PO not-prefilled, regular prefilled, and regular not-prefilled. I think we should tackle this and refactor the create account logic for clarity and predictability, including handling PO failings separately from prefill failings.

@vladolaru
Copy link
Contributor

About the phone number and email not being prefilled in the 2FA step, this is by design (on Stripe's side) as we can't prefill those since those pieces of information can be different than the legal representative personal details.

@anu-rock
Copy link
Contributor

Looking at the account creation logic, it seems we do miss a prefill path: if we fail to create a PO account, we don't attempt to prefill a regular account, but jump straight to a not-prefilled regular account.

@vladolaru Sounds like we are talking about a related but separate issue?

@oaratovskyi
Copy link
Contributor

@anu-rock I think Dan described it pretty well

Yes, this is my understanding too. The above error isn't necessarily a bug, it's expected behaviour that it would happen sometimes. This shouldn't be a blocker towards release.

@vladolaru
Copy link
Contributor

I've opened this server issue: https://github.com/Automattic/woocommerce-payments-server/issues/4942

@vladolaru vladolaru added priority: medium The issue/PR is medium priority—non-critical functionality loss, minimal effect on usability and removed needs prioritisation Triage finished and issues are ready for the following processing. labels Mar 21, 2024
@anu-rock
Copy link
Contributor

@vladolaru Thanks for creating the server issue and quickly putting in a PR.

Is any further work required for the plugin? Or are we good to close this issue?

@vladolaru
Copy link
Contributor

I think we are good to close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
focus: account lifecycle priority: medium The issue/PR is medium priority—non-critical functionality loss, minimal effect on usability type: bug The issue is a confirmed bug.
Projects
None yet
Development

No branches or pull requests

5 participants