Critical issue: Checkout payment methods missing / order cannot be placed

This topic has 14 replies, 2 voices, and was last updated 2 days, 13 hours ago ago by Jack Richardson

  • Avatar: NxtArt_ro
    NxtArt_ro
    Participant
    February 4, 2026 at 12:17

    Hello,

    I am experiencing a critical issue on one of my websites using the XStore theme and WooCommerce.

    At the moment, orders cannot be completed because no payment methods are displayed on the checkout page, and the “Place order” button is missing. This happens even though payment gateways (Stripe, Cash on Delivery, Direct Bank Transfer) are enabled and correctly configured.

    The same configuration works correctly on my other websites using XStore.

    This is a blocking issue, as customers cannot finalize orders.

    Could you please advise on how to solve this?
    See private area for user.

    Thank you.

    Best regards,
    Oana

    Content is visible for topic creator and
    support staff only.
    13 Answers
    Avatar: NxtArt_ro
    NxtArt_ro
    Participant
    February 4, 2026 at 12:19

    See photo.

    Files is visible for topic creator and
    support staff only.
    Avatar: Jack Richardson
    Jack Richardson
    Support staff
    February 4, 2026 at 12:34

    Hello @NxtArt_ro,

    We have reviewed the issue, and since you are using the multistep checkout, we can confirm that the appropriate payment step is available: https://prnt.sc/aY9lKj2DHGLO. However, for the customer to reach this step, they must complete the previous steps, as this is the standard logic of the multistep checkout layout.

    Additionally, we do not have access to review the page editor settings: https://prnt.sc/6Uhp-4m8F-uB.

    If you would like the payment step to appear in the order review section, please open the Checkout page editor, edit the Checkout Multistep widget, and set the Payment Methods section to be displayed in the order review section: https://prnt.sc/F8fNIjHH3RFs.

    If you require our assistance, please either resolve the error so that we can check the widget settings, or provide us with FTP access so that we can identify the cause of the error and help you configure the widget accordingly.

    Best regards,
    Jack Richardson
    The 8Theme’s Team

    Avatar: NxtArt_ro
    NxtArt_ro
    Participant
    February 4, 2026 at 12:56

    Thank you for your response.

    The issue is not that the payment step is missing by design in the multistep checkout. The real problem is that the multistep checkout does not advance at all.

    When clicking “Go to shipping” / “Next step”, nothing happens:

    the checkout does not move to the next step

    the payment step is never reached

    no validation message or visible error is shown

    So, although the payment step technically exists in the multistep layout, customers cannot reach it, which effectively blocks checkout and prevents orders from being placed.

    Regarding the mentioned “error”:
    The site is currently functional, and admin access has already been provided. I am not seeing any visible error message on the frontend, so I am not sure which error you are referring to.

    Because the multistep logic itself is not functioning correctly, this appears to be a checkout multistep widget / theme-related issue, not a configuration choice.

    Please let me know:

    what error you are seeing on your side

    whether this could be related to the Checkout Multistep widget, theme JS, or a known compatibility issue with WooCommerce

    This issue is blocking purchases, so any clarification or direct investigation would be greatly appreciated.

    Avatar: NxtArt_ro
    NxtArt_ro
    Participant
    February 4, 2026 at 13:08

    This is the email I have received regarding the error. The error is with Xstore Core.

    WordPress are o funcționalitate nativă care detectează când un modul sau o temă provoacă o eroare fatală pe site-ul tău și te notifică automat printr-un email.

    În acest caz, WordPress a sesizat o eroare la unul dintre modulele tale, XStore Core.

    Mai întâi, vizitează-ți site-ul (https://nxtconcept.ro/) și verifică dacă apar orice fel de probleme. Apoi, vizitează pagina unde a fost sesizată eroarea (https://nxtconcept.ro/wp-admin/post.php?post=2383&action=elementor) și verifică dacă apar probleme evidente.

    Te rog contactează serviciul tău de găzduire pentru asistență în investigarea în continuare a acestei probleme.

    Dacă site-ul tău pare căzut și nu îți poți accesa panoul de control așa cum o faci în mod normal, WordPress are acum un „mod recuperare” special. El îți permite să te autentifici în siguranță în panoul de control și să investighezi mai departe.

    https://nxtconcept.ro/wp-login.php?action=enter_recovery_mode&rm_token=ClyzCQEjiF0LXPLLr2xO03&rm_key=qkXsismfhMqYuIqGqh5LJo

    Pentru a-ți menține site-ul în siguranță, această legătură va expira în o zi. Nu-ți face griji în legătură cu expirarea: dacă eroarea apare din nou, îți va fi trimisă prin email o legătură nouă.

    Dacă soliciți ajutor pentru această problemă, s-ar putea să ți se ceară unele din informațiile următoare:
    Versiunea WordPress 6.9.1
    Tema activă: Xstore child (versiunea 1.0) Modulul curent: XStore Core (versiunea 5.6.5) Versiunea PHP 8.1.33

    Detalii eroare
    ==============
    A apărut o eroare de tipul E_ERROR pe linia 306 a fișierului /home/sanmesor/nxtconcept.ro/wp-content/plugins/et-core-plugin/app/controllers/elementor/theme-builder/woocommerce/cart-checkout-countdown.php. Mesaj eroare: Uncaught Error: Call to a member function set() on null in /home/sanmesor/nxtconcept.ro/wp-content/plugins/et-core-plugin/app/controllers/elementor/theme-builder/woocommerce/cart-checkout-countdown.php:306
    Stack trace:
    #0 /home/sanmesor/nxtconcept.ro/wp-content/plugins/elementor/includes/base/controls-stack.php(2374): ETC\App\Controllers\Elementor\Theme_Builder\WooCommerce\Cart_Checkout_Countdown->render()
    #1 /home/sanmesor/nxtconcept.ro/wp-content/plugins/elementor/includes/base/widget-base.php(636): Elementor\Controls_Stack->render_by_mode()
    #2 /home/sanmesor/nxtconcept.ro/wp-content/plugins/elementor/includes/base/widget-base.php(757): Elementor\Widget_Base->render_content()
    #3 /home/sanmesor/nxtconcept.ro/wp-content/plugins/elementor/includes/base/element-base.php(629): Elementor\Widget_Base->get_raw_data()
    #4 /home/sanmesor/nxtconcept.ro/wp-content/plugins/elementor/includes/base/element-base.php(629): Elementor\Element_Base->get_raw_data()
    #5 /home/sanmesor/nxtconcept.ro/wp-content/plugins/elementor/core/base/document.php(1105): Elementor\Element_Base->get_raw_data()
    #6 /home/sanmesor/nxtconcept.ro/wp-content/plugins/elementor/core/base/document.php(738): Elementor\Core\Base\Document->get_elements_raw_data()
    #7 /home/sanmesor/nxtconcept.ro/wp-content/plugins/elementor/includes/base/controls-stack.php(1071): Elementor\Core\Base\Document->get_initial_config()
    #8 /home/sanmesor/nxtconcept.ro/wp-content/plugins/elementor/core/editor/loader/common/editor-common-scripts-settings.php(40): Elementor\Controls_Stack->get_config()
    #9 /home/sanmesor/nxtconcept.ro/wp-content/plugins/elementor/core/editor/loader/v2/editor-v2-loader.php(171): Elementor\Core\Editor\Loader\Common\Editor_Common_Scripts_Settings::get()
    #10 /home/sanmesor/nxtconcept.ro/wp-content/plugins/elementor/core/editor/editor.php(355): Elementor\Core\Editor\Loader\V2\Editor_V2_Loader->enqueue_scripts()
    #11 /home/sanmesor/nxtconcept.ro/wp-includes/class-wp-hook.php(341): Elementor\Core\Editor\Editor->enqueue_scripts()
    #12 /home/sanmesor/nxtconcept.ro/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
    #13 /home/sanmesor/nxtconcept.ro/wp-includes/plugin.php(522): WP_Hook->do_action()
    #14 /home/sanmesor/nxtconcept.ro/wp-includes/script-loader.php(2311): do_action()
    #15 /home/sanmesor/nxtconcept.ro/wp-includes/class-wp-hook.php(341): wp_enqueue_scripts()
    #16 /home/sanmesor/nxtconcept.ro/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
    #17 /home/sanmesor/nxtconcept.ro/wp-includes/plugin.php(522): WP_Hook->do_action()
    #18 /home/sanmesor/nxtconcept.ro/wp-includes/general-template.php(3197): do_action()
    #19 /home/sanmesor/nxtconcept.ro/wp-content/plugins/elementor/includes/editor-templates/editor-wrapper.php(35): wp_head()
    #20 /home/sanmesor/nxtconcept.ro/wp-content/plugins/elementor/core/editor/loader/v2/editor-v2-loader.php(221): include(‘/home/sanmesor/…’)
    #21 /home/sanmesor/nxtconcept.ro/wp-content/plugins/elementor/core/editor/editor.php(160): Elementor\Core\Editor\Loader\V2\Editor_V2_Loader->print_root_template()
    #22 /home/sanmesor/nxtconcept.ro/wp-includes/class-wp-hook.php(341): Elementor\Core\Editor\Editor->init()
    #23 /home/sanmesor/nxtconcept.ro/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
    #24 /home/sanmesor/nxtconcept.ro/wp-includes/plugin.php(522): WP_Hook->do_action()
    #25 /home/sanmesor/nxtconcept.ro/wp-admin/admin.php(424): do_action()
    #26 /home/sanmesor/nxtconcept.ro/wp-admin/post.php(12): require_once(‘/home/sanmesor/…’)
    #27 {main}
    thrown

    Avatar: Jack Richardson
    Jack Richardson
    Support staff
    February 4, 2026 at 13:28

    Hello @NxtArt_ro,

    We have provided above an example of the error that occurs when editing the checkout page. It appears that the issue may be caused by certain fields not being set or containing errors. If you have access to the page editor, you can add the WooCommerce Notice widget at the top of the page. This will ensure that any validation errors or similar issues display a message above all content, indicating the source of the problem.

    Alternatively, you can use a different Checkout Page widget (either the default or the separated version) and check whether the issue persists there.

    UPDATE: Regarding the error you attached, we already implemented a fix in our XStore Core plugin files globally and also added the fix in files on your web-site.

    Best regards,
    Jack Richardson
    8Theme Team

    Avatar: NxtArt_ro
    NxtArt_ro
    Participant
    February 4, 2026 at 13:32

    Thank you for your reply.

    I would like to clarify that the issue is not related to missing validation messages or notice visibility.

    The problem is a fatal PHP error in XStore Core, already detected and reported by WordPress, which occurs before any validation messages could be displayed. Because of this fatal error, the multistep checkout logic itself breaks and the checkout cannot proceed to the next step.

    To recap the key point:

    WordPress has reported a fatal error in XStore Core:

    Uncaught Error: Call to a member function set() on null
    File: et-core-plugin/app/controllers/elementor/theme-builder/woocommerce/cart-checkout-countdown.php:306

    This error happens while rendering checkout-related Elementor widgets.

    As a result, the multistep checkout does not advance, payment methods are never reached, and the “Place order” button does not appear.

    This is not a UX or notice-display issue, but a code-level error in XStore Core.

    Adding a WooCommerce Notice widget would not resolve a fatal error, as execution stops before notices can be rendered. Similarly, switching checkout layouts may avoid triggering the error, but would only be a workaround, not a fix.

    Could you please:

    Confirm whether this is a known issue with XStore Core (v5.6.5) on PHP 8.1

    Advise if there is a patch, hotfix, or recommended workaround (e.g. disabling the Cart / Checkout Countdown widget specifically)

    Clarify whether downgrading PHP or XStore Core is currently recommended

    Admin access is already available.

    Thank you for your assistance – this is a blocking issue, so a clarification at code level would be greatly appreciated.

    Avatar: Jack Richardson
    Jack Richardson
    Support staff
    February 4, 2026 at 13:42

    Hello @NxtArt_ro,

    We have also noticed that you appear to be using an additional plugin that provides functionality to hide certain fields on the checkout page using CSS. As a result, the validation process cannot be completed because the hidden fields remain empty: https://prnt.sc/B-dNkk3IpElQ. These fields are part of the form and are required to be filled in, but since they are hidden using CSS, proceeding to the next steps of the checkout process is prevented.

    If you know which plugin was installed to enable this functionality, please temporarily disable it or adjust its settings to ensure that these fields are not hidden.

    Best regards,
    Jack Richardson
    The 8Theme’s Team

    Avatar: NxtArt_ro
    NxtArt_ro
    Participant
    February 4, 2026 at 14:56

    I would like to clarify that no plugin is installed or used to hide checkout fields via CSS on this website. There is no additional functionality intentionally applied to hide required checkout fields.

    To avoid any confusion, I have attached a full list of currently installed and active plugins. As you will see, there is no plugin whose purpose is to hide or manipulate checkout fields.

    WordPress has already reported a fatal error in XStore Core, which suggests the root cause is not related to CSS-based field hiding.

    If you are seeing specific fields hidden on your side, please let me know exactly which fields and which CSS selector or file you are referring to, so we can identify the source together.

    At this point, based on the WordPress fatal error report and the reproducibility of the issue, this still appears to be a theme/plugin-level issue in XStore Core, rather than a third-party checkout customization.

    Thank you for reviewing the attached plugin list. I look forward to your clarification so we can move forward with a proper fix.

    Files is visible for topic creator and
    support staff only.
    Avatar: NxtArt_ro
    NxtArt_ro
    Participant
    February 4, 2026 at 15:06

    Here is the correct file attached. Sorry for the mistake.

    Avatar: NxtArt_ro
    NxtArt_ro
    Participant
    February 4, 2026 at 15:07

    Here is the correct file attached.

    Files is visible for topic creator and
    support staff only.
    Avatar: Jack Richardson
    Jack Richardson
    Support staff
    February 4, 2026 at 15:57

    Hello @NxtArt_ro,

    We have thoroughly investigated the issue and found that the plugin “Payment Plugins for Stripe WooCommerce” is causing the problem. Specifically:
    1. It hides certain required fields using custom CSS → https://prnt.sc/chWwqYysOark
    2. Our JavaScript validation script checks whether each input or field in opened section contains a value. Since the hidden fields are not visible, their values appear empty.

    We have implemented an improvement to our JavaScript script so that it validates only visible inputs and select fields. The updated solution has already been applied to your website and will be included in next theme update. After testing, we confirmed that the steps now open correctly based on the appropriate data set → https://gyazo.com/2f60306587cefd7cd7aea0b36f871bf9.

    Please check the functionality on your side.

    Best regards,
    Jack Richardson
    The 8Theme’s Team

    Avatar: NxtArt_ro
    NxtArt_ro
    Participant
    February 4, 2026 at 16:36

    Yes, I have tested on an icongnito window and an order can be placed after following all the checkout steps.

    Avatar: Jack Richardson
    Jack Richardson
    Support staff
    February 4, 2026 at 16:50

    Hello @NxtArt_ro,

    We are pleased to hear that the fix worked well for you. If your main request has been resolved, please feel free to mark this topic as closed.
    Should you have any further questions or concerns, do not hesitate to contact us. Our support team is always ready to assist you.

    Best regards,
    The 8Theme Team

  • Viewing 14 results - 1 through 14 (of 14 total)

You must be logged in to reply to this topic.Log in/Sign up

We're using our own and third-party cookies to improve your experience and our website. Keep on browsing to accept our cookie policy.