joyfilledhearth
Forum Replies Created
-
Hi Shahzeen,
I disabled Adaptive Pricing and saved the setting, then retested the live checkout in an Incognito window. There was no change; the checkout still fails in the same way.
The live console continues to report duplicate mounting of the Stripe Payment Element, while the Defiant staging checkout works.
Since Adaptive Pricing is now ruled out, could you please advise the next live-versus-staging comparison you would like me to make?
Hi Shahzeen,
As far as I know, the staging site was created as a clone of the live site using WP Staging.
Here’s what I can confirm:
- Both sites are using the same Avanti/Divi theme.
- Both sites are using the same WooCommerce Stripe Gateway version.
- Both sites were originally using the same active plugins. During troubleshooting I deactivated Reddit for WooCommerce on both sites. The checkout immediately worked on staging, but the live site continued to fail.
- I have also flushed SiteGround caches and tested in Incognito without any change on the live site.
- WordPress Address and Site Address are identical on the live site (https://joyfilledhearth.com).
- The browser console on the live site reports Stripe IntegrationErrors such as “Payment Element didn’t mount normally” and “This Element is already mounted”, while the staging site successfully displays the Stripe payment fields.
I am not aware of any intentional differences in custom code or plugin settings between live and staging, but I cannot completely rule out that something has changed since the staging site was created.
Given that the staging checkout works and the live checkout does not, what would you recommend as the best way to compare the two environments?
Thanks
Leonie
Defiant already worked before the additional plugins were deactivated, so the clean-plugin test does not explain the live-only failure. The evidence points to an environment-specific difference between live and staging. What exact live-vs-staging comparison would you like next—headers, network requests, or script sources?
We have narrowed the issue further.
- Reddit for WooCommerce was the cause on staging and disabling it fixed checkout there.
- Reddit is also disabled on live.
- WordPress Address and Site Address both match (
https://joyfilledhearth.com). - SiteGround dynamic cache has been flushed.
- The issue persists in an Incognito window.
The current console error is now:
IntegrationError: This Element is already mounted. Use unmount() to unmount the Element before re-mounting.The stack trace points to
upe-classic.js.This suggests Stripe’s Payment Element is being initialised twice on the live site only.
Can you advise what would cause the WooCommerce Stripe Gateway to mount the Payment Element twice on live but not on staging?
I deactivated Reddit for WooCommerce on both staging and live. The staging checkout now works correctly, but the live checkout still fails after flushing SiteGround Dynamic Cache and testing in Incognito.
The previous Basil/initCheckout error has disappeared. The live Console now repeatedly reports:
“IntegrationError: currencySelector Element didn’t mount normally” and
“IntegrationError: payment Element didn’t mount normally.”Please advise what difference between the live and staging environments could prevent the Stripe Payment Element from mounting.
JQMIGRATE: Migrate is installed, version 3.4.1
checkout/?v=7885444af42e:1129 Mixed Content: The page at ‘https://joyfilledhearth.com/checkout/?v=7885444af42e’ was loaded over HTTPS, but requested an insecure element ‘http://joyfilledhearth.com/wp-content/uploads/2026/03/slide-in-woman-grey.png’. This request was automatically upgraded to HTTPS, For more information see https://blog.chromium.org/2019/10/no-more-mixed-messages-about-https.html
checkout/?v=7885444af42e:1129 Mixed Content: The page at ‘https://joyfilledhearth.com/checkout/?v=7885444af42e’ was loaded over HTTPS, but requested an insecure element ‘http://joyfilledhearth.com/wp-content/uploads/2026/03/arrow-2.png’. This request was automatically upgraded to HTTPS, For more information see https://blog.chromium.org/2019/10/no-more-mixed-messages-about-https.html
checkout/?v=7885444af42e:1129 Mixed Content: The page at ‘https://joyfilledhearth.com/checkout/?v=7885444af42e’ was loaded over HTTPS, but requested an insecure element ‘http://joyfilledhearth.com/wp-content/uploads/2026/03/slide-in-woman-grey.png’. This request was automatically upgraded to HTTPS, For more information see https://blog.chromium.org/2019/10/no-more-mixed-messages-about-https.html
checkout/?v=7885444af42e:1129 Mixed Content: The page at ‘https://joyfilledhearth.com/checkout/?v=7885444af42e’ was loaded over HTTPS, but requested an insecure element ‘http://joyfilledhearth.com/wp-content/uploads/2026/03/arrow-2.png’. This request was automatically upgraded to HTTPS, For more information see https://blog.chromium.org/2019/10/no-more-mixed-messages-about-https.html
stripe.js:1 Uncaught IntegrationError: currencySelector Element didn’t mount normally.
stripe.js:1 Uncaught IntegrationError: payment Element didn’t mount normally.
stripe.js:1 Uncaught IntegrationError: currencySelector Element didn’t mount normally.
stripe.js:1 Uncaught IntegrationError: payment Element didn’t mount normally.
stripe.js:1 Uncaught IntegrationError: currencySelector Element didn’t mount normally.
stripe.js:1 Uncaught IntegrationError: payment Element didn’t mount normally.
stripe.js:1 Uncaught IntegrationError: currencySelector Element didn’t mount normally.
stripe.js:1 Uncaught IntegrationError: payment Element didn’t mount normally.I sent this in an email yesterday morning but I think I should have sent it on this: Thank you. I contacted my hosting provider (SiteGround). They confirmed I am on the StartUp plan, which does not include the SiteGround Staging tool.
Their suggested alternative is to manually create a separate WordPress installation on a subdomain and clone the entire site, but this is a complex process.
Before I attempt that, is there another way we can narrow this down, or would you recommend a specific cloning plugin or procedure? As this is my live business website, I am reluctant to create a manual staging environment unless it is absolutely necessary.
I deleted WooPayments completely, flushed SiteGround Dynamic Cache, and retested in a fresh Incognito window.
The issue is still present. The behaviour has changed slightly: the card number/expiry fields sometimes start accepting input, but the CVC field then freezes and checkout cannot be completed.
Please advise the next diagnostic step. Do you need a fresh System Status Report or updated console output now that WooPayments has been removed?
Thank you. After checking my System Status Report I realised WooPayments is still active, although I believed it had been deactivated earlier during troubleshooting. WooCommerce Stripe Gateway is also active. Could this explain why
upe-classic.jsis being loaded on my Block Checkout? Would you recommend disabling WooPayments completely and retesting, or are there any additional steps you would like me to take first?Thank you for looking at this. SiteGround have already investigated and believe this is a runtime asset-loading issue rather than a hosting, theme or server problem. If you need any additional information, plugin versions, console output or tests, I’m happy to provide them.