• Hey!

    After recent update of Stripe Gateway (the one with the AI assistant for payment order) when I tested, the error message for failed transaction does not show – it just refreshes the checkout 🙁

    I’m not very technically savvy, so I used ChatGPT as a guide. I’ve been testing stuff for a few hours now, and this is the summary of all the actions:

    I am using classic shortcode checkout: [woocommerce_checkout].

    On invalid Stripe card details, Stripe returns:
    POST https://api.stripe.com/v1/payment_methods 400

    Then WooCommerce Stripe Gateway crashes in:
    upe-classic.js

    Console error:
    Uncaught (in promise) TypeError: Cannot read properties of null (reading ‘createErrorNotice’)

    I confirmed in console that wp.data.dispatch(‘core/notices’).createErrorNotice exists before submitting checkout.

    So the global WP notices store is present, but Stripe UPE classic checkout still receives null in its error handling path.

    Adaptive Pricing disabled, cache cleared, Stripe Gateway 10.8.2 tested.

    Can you help me fix this issue?

    Thank you so much!
    Łukasz

    The page I need help with: [log in to see the link]

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Support Frank Remmy (woo-hc)

    (@frankremmy)

    Hi @lukaszskotny,

    Thanks for the seriously thorough writeup. The console digging you did (confirming createErrorNotice exists globally before submitting) is genuinely useful and points us in a more specific direction than a typical bug report would.

    I tested on my side with both the latest version of the plugin, disabled Adaptive Pricing, cleared cache, on the classic checkout, but are unable to reproduce the issue. That actually narrows things down rather than ruling it out: it suggests this isn’t a universal bug in the plugin itself, but something specific to your site’s setup interacting with it.

    That console detail you found supports the same idea. If the function exists when you check it manually, but the plugin’s own error-handling code still gets null at the moment it runs, that’s usually not a missing script, it’s a timing issue. Something on the page is likely grabbing a reference to that WordPress data store before it’s fully ready, and that’s a known pattern when a JavaScript optimization feature (delaying or combining scripts independently of WordPress’s normal loading order) is active on the checkout page.

    Could you check whether you’re using any of the following: a caching/performance plugin, particularly any “Delay JavaScript Execution” or “Combine JS files” feature; or Cloudflare in front of your site with Rocket Loader enabled?

    If you do have one active, the quickest test is to temporarily disable JS delay/combine specifically on the checkout page (most of these plugins let you exclude a page or a specific script) and try the failed-card test again. If the error notice shows up correctly with that disabled, we’ve found it, and the long-term fix is just adding an exclusion rather than anything in the Stripe plugin itself.

    If you’re not running anything like that, could you share two things: your full active plugin list and theme name (WooCommerce → Status → Get system report → Copy for support), and your debug logs covering one of the failed attempts (WooCommerce → Status → Logs, look for a log file matching the time you tested)? Between the two we should be able to narrow this down further.

    Looking forward to your response.

    Thread Starter lukaszskotny

    (@lukaszskotny)

    Hey @frankremmy

    Thank you for the fast reply.

    I have a few plugins of course, and the 2 that I flagged are Siteground Security Optimizer and Siteground Speed Optimizer. I disabled both and cleared the cache in Siteround (I also disabled caching in Uncanny Automator).

    Sadly, this didn’t help at all 🙁 The problem still persists.

    I also have several PHP snippets, I disables all of those as well (no help). I even deleted all CSS from the website (just in case) – no help either.

    Perhaps there is something else that “caches” my website – but to be honest I don’t see what that could be.

    I did several “failed attempts” of this issue, but there is no LOG in the WooCommerce Logs that I can copy 🙁 Am I doing something wrong? ChatGPT when I tested it yesterday asked me to add some temporary PHP to list some logs, but I deleted those – is there a PHP I should add to “test something” for you?

    THIS IS THE SYSTEM REPORT:


    WordPress Environment<br><br>WordPress address (URL): https://enterfea.pl<br>Site address (URL): https://enterfea.pl<br>WC Version: 10.8.1<br>Legacy REST API Package Version: The Legacy REST API plugin is not installed on this site.<br>Action Scheduler Version: ✔ 3.9.3<br>Log Directory Writable: ✔<br>WP Version: 7.0<br>WP Multisite: –<br>WP Memory Limit: 768 MB<br>WP Debug Mode: –<br>WP Cron: ✔<br>WP Environment Type: production<br>Language: en_US<br>External object cache: – Server Environment<br><br>Server Info: Apache<br>Server Architecture: Linux 6.6.63-MCIclouder663-c9 x86_64<br>PHP Version: 8.2.31<br>PHP Post Max Size: 256 MB<br>PHP Time Limit: 120<br>PHP Max Input Vars: 3000<br>cURL Version: 8.15.0<br>OpenSSL/3.5.4<br><br>SUHOSIN Installed: –<br>MySQL Version: 8.4.6-6<br>Max Upload Size: 256 MB<br>Default Timezone is UTC: ✔<br>fsockopen/cURL: ✔<br>SoapClient: ✔<br>DOMDocument: ✔<br>GZip: ✔<br>Multibyte String: ✔<br>Remote Post: ✔<br>Remote Get: ✔ Database<br><br>WC Database Version: 10.8.1<br>WC Database Prefix: knr_<br>Total Database Size: 24.31MB<br>Database Data Size: 19.15MB<br>Database Index Size: 5.16MB<br>knr_woocommerce_sessions: Data: 0.09MB + Index: 0.03MB + Engine InnoDB<br>knr_woocommerce_api_keys: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_woocommerce_attribute_taxonomies: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_woocommerce_downloadable_product_permissions: Data: 0.02MB + Index: 0.08MB + Engine InnoDB<br>knr_woocommerce_order_items: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_woocommerce_order_itemmeta: Data: 0.08MB + Index: 0.09MB + Engine InnoDB<br>knr_woocommerce_tax_rates: Data: 0.02MB + Index: 0.06MB + Engine InnoDB<br>knr_woocommerce_tax_rate_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_woocommerce_shipping_zones: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>knr_woocommerce_shipping_zone_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_woocommerce_shipping_zone_methods: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>knr_woocommerce_payment_tokens: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_woocommerce_payment_tokenmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_woocommerce_log: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_actionscheduler_actions: Data: 0.50MB + Index: 0.66MB + Engine InnoDB<br>knr_actionscheduler_claims: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_actionscheduler_groups: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_actionscheduler_logs: Data: 0.30MB + Index: 0.25MB + Engine InnoDB<br>knr_cartflows_ca_cart_abandonment: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_cartflows_ca_email_history: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_cartflows_ca_email_templates: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>knr_cartflows_ca_email_templates_meta: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_cartflows_visits: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>knr_cartflows_visits_meta: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>knr_commentmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_comments: Data: 0.02MB + Index: 0.13MB + Engine InnoDB<br>knr_links: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_options: Data: 7.06MB + Index: 0.14MB + Engine InnoDB<br>knr_postmeta: Data: 1.08MB + Index: 0.41MB + Engine InnoDB<br>knr_posts: Data: 2.38MB + Index: 0.08MB + Engine InnoDB<br>knr_sg_ai_log_events: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_sgs_log_events: Data: 0.06MB + Index: 0.02MB + Engine InnoDB<br>knr_sgs_log_visitors: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_snippets: Data: 0.13MB + Index: 0.03MB + Engine InnoDB<br>knr_term_relationships: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_term_taxonomy: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_termmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_terms: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_uap_action_log: Data: 0.06MB + Index: 0.09MB + Engine InnoDB<br>knr_uap_action_log_meta: Data: 3.52MB + Index: 0.58MB + Engine InnoDB<br>knr_uap_action_logs_view: Data: 0.00MB + Index: 0.00MB + Engine<br>knr_uap_api_log: Data: 1.52MB + Index: 0.02MB + Engine InnoDB<br>knr_uap_api_log_response: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>knr_uap_api_logs_view: Data: 0.00MB + Index: 0.00MB + Engine<br>knr_uap_closure_log: Data: 0.02MB + Index: 0.06MB + Engine InnoDB<br>knr_uap_closure_log_meta: Data: 0.02MB + Index: 0.05MB + Engine InnoDB<br>knr_uap_error_log: Data: 0.05MB + Index: 0.06MB + Engine InnoDB<br>knr_uap_loop_entries: Data: 0.02MB + Index: 0.13MB + Engine InnoDB<br>knr_uap_loop_entries_items: Data: 0.02MB + Index: 0.14MB + Engine InnoDB<br>knr_uap_loop_entries_items_data: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_uap_options: Data: 0.08MB + Index: 0.03MB + Engine InnoDB<br>knr_uap_queue: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_uap_recipe_count: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_uap_recipe_log: Data: 0.02MB + Index: 0.08MB + Engine InnoDB<br>knr_uap_recipe_log_meta: Data: 0.44MB + Index: 0.03MB + Engine InnoDB<br>knr_uap_recipe_logs_view: Data: 0.00MB + Index: 0.00MB + Engine<br>knr_uap_recipe_throttle_log: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_uap_rss_items: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_uap_run_snapshots: Data: 0.02MB + Index: 0.05MB + Engine InnoDB<br>knr_uap_scheduled_actions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_uap_tokens_log: Data: 0.19MB + Index: 0.02MB + Engine InnoDB<br>knr_uap_trigger_log: Data: 0.02MB + Index: 0.09MB + Engine InnoDB<br>knr_uap_trigger_log_meta: Data: 0.11MB + Index: 0.08MB + Engine InnoDB<br>knr_uap_trigger_logs_view: Data: 0.00MB + Index: 0.00MB + Engine<br>knr_usermeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_users: Data: 0.02MB + Index: 0.05MB + Engine InnoDB<br>knr_wc_admin_note_actions: Data: 0.05MB + Index: 0.02MB + Engine InnoDB<br>knr_wc_admin_notes: Data: 0.06MB + Index: 0.00MB + Engine InnoDB<br>knr_wc_category_lookup: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>knr_wc_customer_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_wc_download_log: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_wc_order_addresses: Data: 0.02MB + Index: 0.06MB + Engine InnoDB<br>knr_wc_order_coupon_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_wc_order_operational_data: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_wc_order_product_lookup: Data: 0.02MB + Index: 0.08MB + Engine InnoDB<br>knr_wc_order_stats: Data: 0.02MB + Index: 0.06MB + Engine InnoDB<br>knr_wc_order_tax_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_wc_orders: Data: 0.02MB + Index: 0.14MB + Engine InnoDB<br>knr_wc_orders_meta: Data: 0.11MB + Index: 0.19MB + Engine InnoDB<br>knr_wc_product_attributes_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>knr_wc_product_download_directories: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_wc_product_meta_lookup: Data: 0.02MB + Index: 0.11MB + Engine InnoDB<br>knr_wc_rate_limits: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_wc_reserved_stock: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>knr_wc_tax_rate_classes: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_wc_webhooks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>knr_wpmailsmtp_debug_events: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>knr_wpmailsmtp_tasks_meta: Data: 0.02MB + Index: 0.00MB + Engine InnoDB Post Type Counts<br><br>attachment: 11<br>cartflows_flow: 2<br>cartflows_step: 5<br>fi_template: 7<br>inspire_invoice: 88<br>order_state_control: 1<br>page: 8<br>post: 1<br>product: 3<br>revision: 72<br>shop_coupon: 4<br>shop_order_placehold: 46<br>uo-action: 18<br>uo-recipe: 2<br>uo-trigger: 5<br>wp_global_styles: 2<br>wp_navigation: 1<br>wp_template: 5<br>wp_template_part: 3 Security<br><br>Secure connection (HTTPS): ✔<br>Hide errors from visitors: ✔ Active Plugins (18)<br><br>Code Snippets Pro (Premium): by Code Snippets Pro – 3.9.6<br>Flexible Checkout Fields PRO: by WP Desk – 4.0.27<br>Flexible Checkout Fields: by WP Desk – 4.1.37<br>Advanced Filters for Flexible Invoices: by WP Desk – 1.0.34<br>Flexible Invoices Advanced Reports: by WP Desk – 3.4.4<br>Advanced Sending for Flexible Invoices: by WP Desk – 1.1.35<br>Advanced Templates for Flexible Invoices: by WP Desk – 1.0.19<br>Flexible Invoices for WooCommerce PRO: by WP Desk – 5.4.8<br>Flexible Invoices KSeF: by WP Desk – 2.4.2<br>Simple Custom CSS: by John Regan – 4.0.7<br>Uncanny Automator Pro: by Uncanny Automator – 7.3.0.6<br>Uncanny Automator: by Uncanny Automator<br>Uncanny Owl – 7.3.1.3<br><br>WooCommerce Flexible Pricing: by WP Desk – 1.5.44<br>WooCommerce Stripe Gateway: by Stripe – 10.8.2<br>WooCommerce Automatic Payment Status: by WP Desk – 2.0.23<br>WooCommerce PayPal Payments: by PayPal – 4.0.4<br>WooCommerce: by Automattic – 10.8.1<br>WP Mail SMTP: by WP Mail SMTP – 4.8.0 Inactive Plugins (4)<br><br>Code Snippets: by Code Snippets Pro – 3.9.6<br>Flexible Invoices Conditional Templates: by WP Desk – 1.1.7<br>Security Optimizer: by SiteGround – 1.6.2<br>Speed Optimizer: by SiteGround – 7.7.11 Settings<br><br>Legacy API Enabled: –<br>Force SSL: –<br>Currency: EUR (€)<br>Currency Position: right_space<br>Thousand Separator:<br>Decimal Separator: ,<br>Number of Decimals: 2<br>Taxonomies: Product Types: external (external)<br>grouped (grouped)<br>simple (simple)<br>variable (variable)<br><br>Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)<br>exclude-from-search (exclude-from-search)<br>featured (featured)<br>outofstock (outofstock)<br>rated-1 (rated-1)<br>rated-2 (rated-2)<br>rated-3 (rated-3)<br>rated-4 (rated-4)<br>rated-5 (rated-5)<br><br>Connected to WooCommerce.com: –<br>Enforce Approved Product Download Directories: ✔<br>HPOS feature enabled: ✔<br>Order datastore: Automattic\WooCommerce\Internal\DataStores\Orders\OrdersTableDataStore<br>HPOS data sync enabled: –<br>Enabled Features: analytics<br>marketplace<br>order_attribution<br>site_visibility_badge<br>remote_logging<br>email_improvements<br>blueprint<br>point_of_sale<br>custom_order_tables Logging<br><br>Enabled: ✔<br>Handler: Automattic\WooCommerce\Internal\Admin\Logging\LogHandlerFileV2<br>Retention period: 30 days<br>Level threshold: –<br>Log directory size: 293 KB WC Pages<br><br>Shop base: #8 - /shop/<br>Cart: #9 - /cart/ - Contains the woocommerce/classic-shortcode block<br>Checkout: #10 - /checkout/ - Contains the woocommerce/classic-shortcode block<br>My account: #11 - /my-account/ - This page's content is overridden by custom template content<br>Terms and conditions: #12 - /terms-and-conditions/ Theme<br><br>Name: Twenty Twenty-Five<br>Version: 1.5<br>Author URL: https://ww.wp.xz.cn<br>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<br>Theme type: Block theme<br>WooCommerce Support: ❌ Not declared Templates<br><br>Overrides: – WooCommerce Stripe Payment Gateway<br><br>Version: 10.8.2<br>Account ID: acct_1B3gVEE5KjQ8WPAr<br>Test Mode Enabled: ✔<br>No<br>OAuth Connected: ✔<br>Yes<br>Sync Enabled: ✔<br>Yes<br>Optimized Checkout Enabled: No<br>Enabled Payment Methods: card<br>Express Checkout: ✔<br>Disabled<br>Auth and Capture: ✔<br>Yes<br>Logging: No WooCommerce PayPal Payments<br><br>Onboarded: ✔<br>Branded only: –<br>Shop country code: PL<br>WooCommerce currency supported: ✔<br>Advanced Card Processing available in country: ✔<br>Pay Later messaging available in country: –<br>Webhook status: –<br>PayPal Vault enabled: –<br>ACDC Vault enabled: –<br>Logging enabled: –<br>Reference Transactions: ✔<br>Used PayPal Checkout plugin: –<br>Subscriptions Mode: Disabled<br>PayPal Shipping Callback: –<br>Apple Pay: –<br>Google Pay: –<br>Fastlane: – Admin<br><br>Enabled Features: activity-panels<br>analytics<br>analytics-scheduled-import<br>product-block-editor<br>experimental-iapi-mini-cart<br>coupons<br>core-profiler<br>customize-store<br>customer-effort-score-tracks<br>import-products-task<br>experimental-fashion-sample-products<br>shipping-smart-defaults<br>shipping-setting-tour<br>homescreen<br>marketing<br>mobile-app-banner<br>onboarding<br>onboarding-tasks<br>pattern-toolkit-full-composability<br>product-custom-fields<br>remote-inbox-notifications<br>remote-free-extensions<br>payment-gateway-suggestions<br>printful<br>shipping-label-banner<br>subscriptions<br>store-alerts<br>transient-notices<br>woo-mobile-welcome<br>wc-pay-promotion<br>wc-pay-welcome-page<br>launch-your-store<br><br>Disabled Features: product-data-views<br>experimental-blocks<br>experimental-iapi-runtime<br>coming-soon-newsletter-template<br>minified-js<br>product-pre-publish-modal<br>products-catalog-api<br>settings<br>async-product-editor-category-field<br>product-editor-template-system<br>use-wp-horizon<br>rest-api-v4<br><br>Daily Cron: ❌ Not scheduled<br>Options: ✔<br>Notes: 72<br>Onboarding: completed Action Scheduler<br><br>Complete: 993<br>Oldest: 2026-05-19 09:20:16 +0000<br>Newest: 2026-06-19 08:27:43 +0000<br><br>Failed: 18<br>Oldest: 2026-04-12 20:35:52 +0000<br>Newest: 2026-05-30 04:08:35 +0000<br><br>Pending: 18<br>Oldest: 2026-06-19 09:01:46 +0000<br>Newest: 2026-06-29 04:08:35 +0000 Status report information<br><br>Generated at: 2026-06-19 08:47:57 +00:00<br>
    • This reply was modified 1 day, 20 hours ago by lukaszskotny.
    Thread Starter lukaszskotny

    (@lukaszskotny)

    @frankremmy

    Ugh… I just posted the reply, and it seems to be held for moderation? Should I do something more here?

    Plugin Support shahzeen(woo-hc)

    (@shahzeenfarooq)

    Hi @lukaszskotny!

    You don’t need to do anything further at this point.

    Sometimes forum replies are temporarily held for moderation before they become publicly visible. I would recommend checking back in an hour or two to see if the post has been approved.

    If the reply is removed or does not appear after moderation, you can simply post it again.

    Thanks for your patience!

    Thread Starter lukaszskotny

    (@lukaszskotny)

    @frankremmy

    It worked – I think that my reply is already posted above 🙂 Thank you for your patience – I hope you will find a solution in those logs 🙂

    All the best!
    Ł

    Plugin Support Frank Remmy (woo-hc)

    (@frankremmy)

    Hi @lukaszskotny,

    Got it. Glad the moderation cleared, and thanks for sharing all of that. The system report is really helpful.

    One thing stands out: your Checkout page is using the woocommerce/classic-shortcode block rather than the raw shortcode directly in a classic page. That’s actually the key detail here. The Classic Shortcode block is a block-based wrapper, which means the blocks JavaScript environment loads on your checkout page, making wcSettings.wcBlocksConfig truthy. The Stripe Gateway’s error handler sees that and assumes it’s in a full blocks checkout context, so it tries to use dispatch('core/notices').createErrorNotice() , but the full blocks notice system for the checkout isn’t actually mounted in that context, so dispatch('core/notices') comes back null, and the error message gets silently dropped.

    I’ll flag this to the dev team with your details.

    In the meantime, one thing worth trying as a workaround: edit your Checkout page and replace the Classic Shortcode block with the raw [woocommerce_checkout] shortcode in a regular paragraph/shortcode block instead. That should prevent the blocks JS environment from loading in a way that confuses the error handler, and the error messages should reappear correctly.

    Let us know if that helps while we work on a proper fix upstream.

    Plugin Support Frank Remmy (woo-hc)

    (@frankremmy)

    Hi @lukaszskotny,

    Thanks again for the detailed debugging throughout. It genuinely helped pinpoint the root cause. I’ve opened a GitHub issue for the dev team to investigate and fix properly: https://github.com/woocommerce/woocommerce-gateway-stripe/issues/5613

    In the meantime, the workaround I mentioned earlier should keep things running.

    As for a timeline, GitHub issues go through the team’s normal triage and release cycle, so we can’t give an exact date, but the issue is now tracked and visible to the developers. Feel free to follow or comment on the GitHub issue directly if you’d like to stay in the loop.

Viewing 7 replies - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.