• Resolved dyamized

    (@dyamized)


    After updating from 8.2.2 to 8.3.0, our checkout stopped working.

    The totals wouldn’t update, and shipping costs weren’t retrieved, etc.

    Using developer tools, I can see that the page no longer calls “/?wc-ajax=update_order_review”. Is this intentional? We have a lot of code that relies on this being called.

    Switching back to 8.2.2 resolved the issue.

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

Viewing 15 replies - 1 through 15 (of 16 total)
  • Plugin Support Beauty of Code (woo-hc)

    (@beautyofcode)

    Hey @dyamized ,

    Thanks for reaching out!

    It looks like updating to WooCommerce version 8.3.0 has resulted in Checkout functionality breaking, correct?

    This is not something I am able to reproduce on my test site with WooCommerce updated to version 8.3.0, as the totals are updated correctly, and the shipping costs are being retrieved.

    For clarity, are the totals calculated correctly on the Cart page, or is this affecting the Cart page, too?

    It’s possible that another plugin on your site or your current theme is conflicting with the latest version of WooCommerce core.

    Can you run through a full conflict test on a staging site and see if this resolves the issue? You can create a staging site using the free?WP Staging plugin.

    You can read more on performing a full conflict test below:

    Let us know how this goes!

    Thread Starter dyamized

    (@dyamized)

    The totals are correct on the Cart page.

    I will add that I am using the “woocommerce_checkout” shortcode.

    Do you know any changes in 8.3 in regards to calling the ajax “update_order_review”? Is that done differently?

    KevinPlusPlus

    (@kevinplusplus)

    Hello,

    I am also using the checkout shortcode and the display for Stripe and Braintree card fields both do not load after the update to 8.3. Using the Stripe and Braintree plugins from the official WooCommerce site.

    Under 8.2.2, there is an AJAX call made in the background where the spinning circle comes up and loads the card fields.

    Under 8.3, this does not happen, no AJAX call, no spinning circle, and the card fields are just AWOL.

    I think something is broken.

    Thanks,

    Kevin

    KevinPlusPlus

    (@kevinplusplus)

    Sorry I didn’t include this in my previous post, but I confirm that using 8.2.2, POST /?wc-ajax=update_order_review is called when loading checkout.

    Under 8.3, this same wc-ajax call is NOT MADE and thus the card fields fail to load.

    To Woo Support: can you please try this on your test / staging environment with the Stripe payment plugin specifically?

    Kevin

    KevinPlusPlus

    (@kevinplusplus)

    I have found the problem.

    In /includes/class-wc-frontend-scripts.php:

    In static_function_register_script and static_function_enqueue_script, the last parameter $in_footer was changed from

    $in_footer = true

    to

    $in_footer = array ( ‘strategy’ => ‘defer’)

    Changing this back to true, checkout works again.

    Here is the commit that broke this functionality: https://github.com/woocommerce/woocommerce/commit/fe6e43b438710ecd3b0a97bfbe74bc6559a3db69

    Kevin

    KevinPlusPlus

    (@kevinplusplus)

    Hi, one more comment as I’ve tested further:

    $in_footer = array( ‘strategy’ => ‘async’)

    Also works. But defer does not.

    KevinPlusPlus

    (@kevinplusplus)

    Thread Starter dyamized

    (@dyamized)

    @kevinplusplus great work!

    KevinPlusPlus

    (@kevinplusplus)

    For us this ended up being caused by the MultiCurrency Pro plugin, with some changes it functions correctly with WC 8.3.

    Not sure if you use this plugin as well, dyamized, or if there may be other plugins with incompatible JavaScript.

    fantasticmediadigital

    (@fantasticmediadigital)

    We have also experienced this issue, and has appeared to have created a conflict with the “WooCommerce PayPal Payments” plugin, ironically developed by the same developers. Performing the code changes as described by @kevinplusplus immediately fixed the issue.

    neilgee

    (@neilgee)

    Also having Cart issues in that nothing can be added to cart – just remains empty – rolling back to 8.2.2 fixes issue

    leraje

    (@leraje)

    For anybody stumbling across this thread – I had the same issue with Woo’s own WooPayments plugin. The code change described above fixes it.

    Plugin Author Corey McKrill a11n

    (@coreymckrill)

    Rather than changing the code in the WooCommerce plugin (which would get overwritten when you update), here’s a code snippet that sets $in_footer to true.

    Hoping this gets resolved soon. Issue over here too. I’m surprised this was approved to push to a plugin that is used by millions of sites. It’s no surprise at all that so many people are reporting an issue with this.

    @leraje – Can you detail how you fixed this in the Woo Payments plugin? I’m not sure how to implement the fix and my payment types aren’t visible even though I have used the code snippet to modify WooCommerce as outlined.

Viewing 15 replies - 1 through 15 (of 16 total)
  • The topic ‘Checkout broke with 8.3.0’ is closed to new replies.