woocommerce / woocommerce-gateway-stripe

The official Stripe Payment Gateway for WooCommerce
https://wordpress.org/plugins/woocommerce-gateway-stripe/
228 stars 201 forks source link

[GlobalStep] Different error message is displayed after clicking "Fail" for SCA successful card on "shortcode checkout" page. #3258

Open gglobalstep opened 2 months ago

gglobalstep commented 2 months ago

Bug Description:

Different error message is displayed after clicking "Fail" for SCA successful card on "shortcode checkout" page.

Environment:

Woocommerce Version: 9.0.2 WordPress version: v6.5.5 WooCommerce Stripe Gateway Version: 8.5.0-test PC: Windows 10 Chrome (Version 126.0.6478.127) Firefox (Version 127.0.2)

Steps to Reproduce:

  1. Create any test site.
  2. Install and activate all the required plugins.
  3. Upload and activate the WooCommerce Stripe Payment Gateway v8.5.0-test plugin.
  4. Connect the store to a Stripe account.
  5. Add a product to the cart and proceed to WC's shortcode checkout.
  6. Use a SCA successful card, like 4000002500003155.
  7. Place the order.
  8. On the 3D Secure verification dialog that's displayed, click on "Fail" to mimick a failed authorization.
  9. Observe that, "Unable to process this payment, please try again or use alternative method." error message is displayed after clicking "Fail" for SCA successful card on "shortcode checkout" page.

Instruction Link:

https://github.com/woocommerce/woocommerce-gateway-stripe/wiki/Critical-flows-%E2%80%90-Instructions#checkout-failure-with-sca-card

Actual Result:

"Unable to process this payment, please try again or use alternative method." error message is displayed after clicking "Fail" for SCA successful card on "shortcode checkout" page.

Expected Result:

"We are unable to authenticate your payment method. Please choose a different payment method and try again." error message should be displayed after clicking "Fail" for SCA successful card on "shortcode checkout" page.

Screenshot:

SCAclassic

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

System Status Report ``` ### WordPress Environment ### WordPress address (URL): [Redacted] Site address (URL): [Redacted] WC Version: 9.0.2 Legacy REST API Package Version: The Legacy REST API plugin is not installed on this site. Action Scheduler Version: ✔ 3.7.4 Log Directory Writable: ✔ WP Version: 6.5.5 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.29 PHP Post Max Size: 2 GB PHP Time Limit: 1200 PHP Max Input Vars: 6144 cURL Version: 8.7.1 OpenSSL/3.0.11 SUHOSIN Installed: – MySQL Version: 10.6.18-MariaDB-log Max Upload Size: 2 GB Default Timezone is UTC: ✔ fsockopen/cURL: ✔ SoapClient: ✔ DOMDocument: ✔ GZip: ✔ Multibyte String: ✔ Remote Post: ✔ Remote Get: ✔ ### Database ### [REDACTED] ### Post Type Counts ### attachment: 24 customize_changeset: 1 page: 8 post: 2 product: 23 product_variation: 7 revision: 1 shop_order_placehold: 117 wp_global_styles: 1 wp_navigation: 1 ### Security ### Secure connection (HTTPS): ✔ Hide errors from visitors: ✔ ### Active Plugins (5) ### Query Monitor: by John Blackbourn – 3.16.3 Akismet Anti-spam: Spam Protection: by Automattic - Anti-spam Team – 5.3.2 WooCommerce Stripe Gateway: by WooCommerce – 8.5.0-test WooCommerce Subscriptions: by WooCommerce – 6.4.1 WooCommerce: by Automattic – 9.0.2 ### Inactive Plugins (0) ### ### Dropin Plugins () ### advanced-cache.php: advanced-cache.php db.php: Query Monitor Database Class (Drop-in) object-cache.php: Memcached ### Must Use Plugins (1) ### load.php: by – ### 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: – Enforce Approved Product Download Directories: ✔ HPOS feature enabled: ✔ Order datastore: Automattic\WooCommerce\Internal\DataStores\Orders\OrdersTableDataStore HPOS data sync enabled: – ### Logging ### Enabled: ✔ Handler: Automattic\WooCommerce\Internal\Admin\Logging\LogHandlerFileV2 Retention period: 30 days Level threshold: – Log directory size: 3 KB ### 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: Storefront Version: 4.6.0 Author URL: https://woocommerce.com/ 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: Subscriptions-core Library Version: 7.2.0 Subscription Statuses: wc-active: 22 WooCommerce Account Connected: ❌ No Report Cache Enabled: ✔ Yes Cache Update Failures: ✔ 0 failure ### Store Setup ### Country / State: United States (US) — California ### Subscriptions by Payment Gateway ### Stripe: wc-active: 22 ### Payment Gateway Support ### Stripe: products refunds tokenization add_payment_method subscriptions subscription_cancellation subscription_suspension subscription_reactivation subscription_amount_changes subscription_date_changes subscription_payment_method_change subscription_payment_method_change_customer subscription_payment_method_change_admin multiple_subscriptions ### Admin ### Enabled Features: activity-panels analytics product-block-editor coupons core-profiler customize-store 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-custom-fields 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: minified-js new-product-management-experience pattern-toolkit-full-composability product-pre-publish-modal settings async-product-editor-category-field launch-your-store product-editor-template-system Daily Cron: ✔ Next scheduled: 2024-07-10 06:27:41 +00:00 Options: ✔ Notes: 65 Onboarding: skipped ### Action Scheduler ### Complete: 257 Oldest: 2024-07-08 06:29:48 +0000 Newest: 2024-07-08 08:33:20 +0000 Failed: 1 Oldest: 2024-07-08 07:04:59 +0000 Newest: 2024-07-08 07:04:59 +0000 Pending: 28 Oldest: 2024-07-09 06:58:12 +0000 Newest: 2024-09-08 08:34:24 +0000 ### Status report information ### Generated at: 2024-07-09 06:58:13 +00:00 ```
Mayisha commented 2 months ago

In the new checkout experience the localized error message is set here and the message is set here in the frontend.

The error message is different but relevant. In my opinion, we can keep it as is. Or use message = result.error.message here instead of message = wc_stripe_params.invalid_request_error.

I missed to mention this finding in the previous round's test report.

james-allan commented 3 weeks ago

Just flagging that this only appears to affect the legacy checkout experience.

Using the new UPE, the shortcode and block checkouts display the same error message when I fail the 3D-Secure challenge.

Image Image