woocommerce / woocommerce

A customizable, open-source ecommerce platform built on WordPress. Build any commerce solution you can imagine.
https://woocommerce.com
9.38k stars 10.76k forks source link

WooCommerce Payments merchants directed to re-onboard after WooCommerce Payments is connected #32045

Closed csmcneill closed 1 year ago

csmcneill commented 2 years ago

Prerequisites

Describe the bug

In 4825826-zen, the Set up payments option of the store setup wizard at WooCommerce > Home has a Finish Setup button, even though the merchant has already onboarded and connected their site to WooCommerce Payments.

This link takes them to domain.com/wp-admin/admin.php?page=wc-admin&path=%2Fpayments%2Fconnect, which generates the following error:

Sorry, you are not allowed to access this page.

This is expected, as merchants who have already connected their blog_id to WooCommerce Payments will be unable to onboard again. However, this merchant should not be provided with the Finish Setup option, as their site is already connected to WooCommerce Payments.

After some discussion with @rafaelzaleski, we've determined that the Set up payments option in the wizard is directing the user to domain.com/wp-admin/admin.php?page=wc-admin&task=payments&id=woocommerce_payments%3Aus, which has a Finish Setup button even if the merchant has already onboarded with WooCommerce Payments.

Expected behavior

If a site is currently connected to WooCommerce Payments, the Set up payments option of the store set up wizard at WooCommerce > Home should always direct to domain.com/wp-admin/admin.php?page=wc-admin&task=payments.

Actual behavior

Occasionally, merchants whose sites are connected to WooCommerce Payments are directed to domain.com/wp-admin/admin.php?page=wc-admin&task=payments&id=woocommerce_payments%3Aus when they select Set up payments at WooCommerce > Home. This page has a Finish Setup button, which will direct them to domain.com/wp-admin/admin.php?page=wc-admin&path=%2Fpayments%2Fconnect, which generates the following error:

Sorry, you are not allowed to access this page.

Steps to reproduce

I have been unable to reproduce this issue. @rafaelzaleski has been able to in the dev and release versions of WooCommerce Payments.

  1. Log into a site connected to a WooCommerce Payments account
  2. Navigate to WooCommerce > Home.
  3. Select Set up payments.
  4. You may be given an option for Finish Setup. If you do and you select it, you will be sent to a page with a Sorry, you are not allowed to access this page. error.

WordPress Environment

`

WordPress Environment

WordPress address (URL): https://profitable-thrush.jurassic.ninja Site address (URL): https://profitable-thrush.jurassic.ninja WC Version: 6.2.1 REST API Version: ✔ 6.2.1 WC Blocks Version: ✔ 6.7.3 Action Scheduler Version: ✔ 3.4.0 WC Admin Version: ✔ 3.1.0 Log Directory Writable: ✔ WP Version: 5.9.1 WP Multisite: – WP Memory Limit: 256 MB WP Debug Mode: ✔ WP Cron: ✔ Language: en_US External object cache: –

Server Environment

Server Info: Apache/2.4.52 (Unix) OpenSSL/1.0.2g PHP Version: 7.4.28 PHP Post Max Size: 1 GB PHP Time Limit: 30 PHP Max Input Vars: 5000 cURL Version: 7.47.0 OpenSSL/1.0.2g

SUHOSIN Installed: – MySQL Version: 5.7.33-0ubuntu0.16.04.1-log Max Upload Size: 512 MB Default Timezone is UTC: ✔ fsockopen/cURL: ✔ SoapClient: ✔ DOMDocument: ✔ GZip: ✔ Multibyte String: ✔ Remote Post: ✔ Remote Get: ✔

Database

WC Database Version: 6.2.1 WC Database Prefix: wp_ Total Database Size: 6.55MB Database Data Size: 5.09MB Database Index Size: 1.46MB 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_links: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_options: Data: 4.06MB + Index: 0.06MB + Engine InnoDB wp_postmeta: Data: 0.13MB + Index: 0.06MB + Engine InnoDB wp_posts: Data: 0.06MB + Index: 0.06MB + Engine InnoDB wp_snippets: Data: 0.02MB + Index: 0.00MB + 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.02MB + Index: 0.00MB + Engine InnoDB wp_wc_admin_note_actions: Data: 0.02MB + 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_order_coupon_lookup: 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_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: 24 page: 7 post: 2 product: 18 product_variation: 7 shop_order: 1

Security

Secure connection (HTTPS): ✔ Hide errors from visitors: ❌Error messages should not be shown to visitors.

Active Plugins (5)

Code Snippets: by Code Snippets Pro – 2.14.3 Companion Plugin: by Osk – 1.24 Jetpack: by Automattic – 10.7 WooCommerce Payments: by Automattic – 3.8.2 WooCommerce: by Automattic – 6.2.1 (update to version 6.3.0 is available)

Inactive Plugins (2)

Akismet Anti-Spam: by Automattic – 4.2.2 Hello Dolly: by Matt Mullenweg – 1.7.2

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) subscription (subscription) variable (variable) variable subscription (variable-subscription)

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 WooCommerce.com: –

WC Pages

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

Theme

Name: Twenty Twenty-Two Version: 1.1 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: ✔

Templates

Overrides: –

Subscriptions

WCS_DEBUG: ✔ No Subscriptions Mode: ✔ Live Subscriptions Live URL: https://profitable-thrush.jurassic.ninja Subscription Statuses: – WooCommerce Account Connected: ❌ No

Store Setup

Country / State: United States (US) — California

Payment Gateway Support

WooCommerce Payments: products refunds multiple_subscriptions subscription_cancellation subscription_payment_method_change_admin subscription_payment_method_change_customer subscription_payment_method_change subscription_reactivation subscription_suspension subscriptions gateway_scheduled_payments tokenization add_payment_method

WooCommerce Payments

Version: 3.8.2 Connected to WPCOM: Yes Blog ID: 203664838 Account ID: acct_1Kanng2H44KW0Ckd

Action Scheduler

Complete: 29 Oldest: 2022-03-07 21:16:26 +0000 Newest: 2022-03-08 22:26:46 +0000

Pending: 1 Oldest: 2022-03-09 00:25:37 +0000 Newest: 2022-03-09 00:25:37 +0000

Status report information

Generated at: 2022-03-08 22:35:32 +00:00 `

Isolating the problem

csmcneill commented 2 years ago

A similar report in 4823099-zen. Both of these merchants have rejected WCPay accounts.

claudiosanches commented 2 years ago

Hello @csmcneill,

Thank you for reporting the issue. WooCommerce Payments is being developed in another repository: {provide a link to the repo}.

I am going to move your bug report there so that the right team could take a look further. Thanks!

claudiosanches commented 2 years ago

I just moved to https://github.com/Automattic/woocommerce-payments/issues/3945 I'm closing this issue for now, thanks!

csmcneill commented 2 years ago

Howdy @claudiosanches! Just noting that @rafaelzaleski indicated that this is likely an issue related to WooCommerce core instead of WooCommerce Payments, which is why I opened the issue here.

rafaelzaleski commented 2 years ago

@claudiosanches, I believe the onboarding task pages are part of this repository. The issue is that this page shouldn't be accessible if WC Payments is already connected: domain.com/wp-admin/admin.php?page=wc-admin&task=payments&id=woocommerce_payments%3Aus

The message Sorry, you are not allowed to access this page is expected on WC Payments since an account is already connected.

woocommercebot commented 2 years ago

We are adding the status: needs reproduction label to this issue to try reproduce it on the current released version of WooCommerce.

Thank you for your patience.

swatipawarGS commented 2 years ago

Hi @csmcneill, @rafaelzaleski ,

Thank you for taking the time to report this bug, we really appreciate your help. We are unable to reproduce the issue on our end using WooCommerce 6.3.1 version and WordPress 5.9.2 version.

Please find below screencast for reference :

https://user-images.githubusercontent.com/94531721/161513849-94b71e03-6155-4615-a24f-de9c201faa4f.mp4

Please provide us more detailed and any additional steps required to repro this issue which may help us to evaluate it further.

woocommercebot commented 2 years ago

Hi @csmcneill,

Thank you for opening the issue! It requires further feedback from the WooCommerce Core team.

We are adding the needs developer feedback label to this issue so that the Core team could take a look.

Please note it may take a few days for them to get to this issue. Thank you for your patience.

rjchow commented 2 years ago

Have managed to reproduce this, will put it in our backlog

moon0326 commented 1 year ago

@rjchow Could you share the steps to reproduce the issue?

I wasn't able to reproduce it.

  1. Setup a new JN site
  2. Install WC Payment
  3. Connect WC Payment
  4. Navigate to WooCommerce -> Home

I see Set up WooCommerce Payments as marked 🤔

Screen Shot 2022-10-11 at 3 00 50 PM

rjchow commented 1 year ago

Oh the bug is on the payments connect screen, after returning from the stripe connection flow it still says "finish setup" and clicking on it doesn't do anything

moon0326 commented 1 year ago

Thank you! However, I still can't reproduce it.

Maybe it was fixed recently? Could you try to reproduce it when you get a chance?

moon0326 commented 1 year ago

@csmcneill I can only reproduce the behavior when I use the WC Pay dev plugin, which means actual customers will not experience the described bug. It sounds like GS team could not reproduce it either. We haven't received any other similar issues so far.

I think this issue can be closed. What do you think @csmcneill?

csmcneill commented 1 year ago

If we cannot reproduce the issue, we can close it. It’s possible that this may have been resolved in a release after the initial report. We can reopen it if needed.