Zen Cart Logo
Forums / All Other Contributions/Addons / One-Page Checkout [Support Thread]

One-Page Checkout [Support Thread]

Views: 632,613

Results 3,041 to 3,060 of 3,088
6 Jun 2026, 4:57 PM
#3041
bumba000 avatar

bumba000

Totally Zenned

Join Date:
Feb 2007
Location:
Pennsylvania
Posts:
858
Plugin Contributions:
0

One-Page Checkout [Support Thread]

Hello All.
A fresh install of ZC 2.2.2 on upgraded DB from 1.5.5e, running on PHP 8.3. Just installed the OPC. I've got a few issues.

Add an item to the cart > click checkout. I get options to sign in, checkout as guest or create account. If I select guest checkout, navigate away from the process then click checkout again, I'm taken straight into the guest checkout. But, what if I changed my mind and want to either log into my existing account or want to create a full account? I have to open a new private window to begin a new session. Is there a way around this?

At the top of the guest checkout page I see "WARNING: Could not locate language file: includes/languages/english/modules/order_total/ot_sc.php". It doesn't appear this file is included with ZC 2.2.2 or with OPC. Please advise. (we used to offer rewards and store credit so I may just need to remove some db stuff)

At the bottom of the guest checkout I see a box that says "Bottom Instructions". What is this used for?

Thank you,
John

6 Jun 2026, 7:42 PM
#3042
bumba000 avatar

bumba000

Totally Zenned

Join Date:
Feb 2007
Location:
Pennsylvania
Posts:
858
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

bumba000:

Hello All.
A fresh install of ZC 2.2.2 on upgraded DB from 1.5.5e, running on PHP 8.3. Just installed the OPC. I've got a few issues....

So I resolved a the missing file warning by replacing configuration and configuration group db tables with those from an actual fresh install. Then in the admin I uninstalled and re-installed OPC. The configuration table was actually quite a mess since the database is essentially the original since 2007. So, that's all cleaned up now. lol

As for the "Bottom Instructions" thing. I could find nothing on this in admin > config > OPC, or in the release documentation. So looking in dev tools I found the define. Then so on from there. Setting the define to blank the box goes away.

Thank you,
John

7 Jun 2026, 11:28 AM
#3043
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,108
Plugin Contributions:
56

Re: One-Page Checkout [Support Thread]

bumba000:

So I resolved a the missing file warning by replacing configuration and configuration group db tables with those from an actual fresh install. Then in the admin I uninstalled and re-installed OPC. The configuration table was actually quite a mess since the database is essentially the original since 2007. So, that's all cleaned up now. lol

As for the "Bottom Instructions" thing. I could find nothing on this in admin > config > OPC, or in the release documentation. So looking in dev tools I found the define. Then so on from there. Setting the define to blank the box goes away.

Thank you,
John
Glad you got most of it worked out. I'll note that OPC's readme does point you to its Wiki articles; here's the one that describes those "Bottom instructions": https://github.com/lat9/one_page_checkout/wiki/Checkout-One-Page#pre-confirmation-message

12 Jun 2026, 7:53 PM
#3044
njcyx avatar

njcyx

Zen Follower

Join Date:
Apr 2019
Posts:
374
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

opc 2.5.2

I just noticed an issue.

So if you first time enter the checkout page, after you enter the address under "Billing/Shipping Address:" section, click "Submit", then uncheck the box "Shipping Address, Same as Billing?". Then the top section is billing and bottom section is shipping.

Then click the edit button in billing address, then click on "Cancel". The top box name is changed from billing to "Billing/Shipping Address:". So at this moment, the top address box is "Billing/Shipping Address:" and bottom is "Shipping Address:", which is incorrect.

If you change anything in the top section then click confirm, not cancel, the name for top section will be correct, which is "Billing address".

I assumed it could be related to the JS.

My production site is running OPC 2.5.5 and it has the same issue.

14 Jun 2026, 1:04 PM
#3045
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,108
Plugin Contributions:
56

Re: One-Page Checkout [Support Thread]

njcyx:

opc 2.5.2

I just noticed an issue.

So if you first time enter the checkout page, after you enter the address under "Billing/Shipping Address:" section, click "Submit", then uncheck the box "Shipping Address, Same as Billing?". Then the top section is billing and bottom section is shipping.

Then click the edit button in billing address, then click on "Cancel". The top box name is changed from billing to "Billing/Shipping Address:". So at this moment, the top address box is "Billing/Shipping Address:" and bottom is "Shipping Address:", which is incorrect.

If you change anything in the top section then click confirm, not cancel, the name for top section will be correct, which is "Billing address".

I assumed it could be related to the JS.

My production site is running OPC 2.5.5 and it has the same issue.
Thanks for the report. I've reproduced the issue on v2.6.2 and created this GitHub issue for tracking: https://github.com/lat9/one_page_checkout/issues/470

15 Jun 2026, 6:12 PM
#3046
njcyx avatar

njcyx

Zen Follower

Join Date:
Apr 2019
Posts:
374
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

Thanks. It looks like it is a long term issue which affect from OPC 2.5.5 to 2.6.2.

Anyway, sometimes, our customer complained that the billing and shipping addresses are reversed somehow in their orders. I tried several times in the past but I cannot reproduce the issue. Not sure if this issue cause it, since the customer may get confused which section is the true shipping address.

16 Jun 2026, 10:52 AM
#3047
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,108
Plugin Contributions:
56

Re: One-Page Checkout [Support Thread]

njcyx:

Thanks. It looks like it is a long term issue which affect from OPC 2.5.5 to 2.6.2.

Anyway, sometimes, our customer complained that the billing and shipping addresses are reversed somehow in their orders. I tried several times in the past but I cannot reproduce the issue. Not sure if this issue cause it, since the customer may get confused which section is the true shipping address.
I'll take a look at that when I correct the billing-address labeling, but I'm not sure how that can happen since the bill-to and ship-to addresses are quire separate in OPC's handling.

18 Jun 2026, 4:59 PM
#3048
njcyx avatar

njcyx

Zen Follower

Join Date:
Apr 2019
Posts:
374
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

njcyx:

opc v2.6.1, zc2.1.0, paypalwpp, php 8.1

I received the following intermittent warning.

[11-May-2026 15:08:12 America/New_York] PHP Fatal error: Uncaught Error: Typed property OnePageCheckout::$isVirtualOrder must not be accessed before initialization in /includes/classes/OnePageCheckout.php:2568
Stack trace:
#0 /includes/classes/observers/class.checkout_one_observer.php(685): OnePageCheckout->getTaxLocations()
#1 /includes/classes/traits/NotifierManager.php(106): checkout_one_observer->update(Object(notifier), 'ZEN_GET_TAX_LOC...', Array, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
#2 /includes/functions/functions_taxes.php(355): base->notify('ZEN_GET_TAX_LOC...', Array, false)
#3 /includes/modules/order_total/ot_tax.php(66): zen_get_tax_locations()
#4 /includes/classes/order_total.php(229): ot_tax->process()
#5 /includes/modules/payment/paypalwpp.php(1637): order_total->pre_confirmation_check()
#6 /ipn_main_handler.php(81): paypalwpp->ec_step1()
#7 {main}
thrown in /includes/classes/OnePageCheckout.php on line 2568

[11-May-2026 15:08:12 America/New_York] Request URI: /ipn_main_handler.php?type=ec, IP address: xxx
--> PHP Fatal error: Uncaught Error: Typed property OnePageCheckout::$isVirtualOrder must not be accessed before initialization in /includes/classes/OnePageCheckout.php:2568
Stack trace:
#0 /includes/classes/observers/class.checkout_one_observer.php(685): OnePageCheckout->getTaxLocations()
#1 /includes/classes/traits/NotifierManager.php(106): checkout_one_observer->update(Object(notifier), 'ZEN_GET_TAX_LOC...', Array, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
#2 /includes/functions/functions_taxes.php(355): base->notify('ZEN_GET_TAX_LOC...', Array, false)
#3 /includes/modules/order_total/ot_tax.php(66): zen_get_tax_locations()
#4 /includes/classes/order_total.php(229): ot_tax->process()
#5 /includes/modules/payment/paypalwpp.php(1637): order_total->pre_confirmation_check()
#6 /ipn_main_handler.php(81): paypalwpp->ec_step1()
#7 {main}
thrown in /includes/classes/OnePageCheckout.php on line 2568.

> 
> Line 2568 is the following
> 
> "if ($this->isVirtualOrder === true || $this->getShippingBilling() === true) {"
>  
> The customer under this IP address has placed the order successfully (no sales tax was charged, which is also correct.) and he didn't order the virtual item.

I just updated my site to opc 2.6.2 from 2.5.5 and this issue remains.
18 Jun 2026, 5:02 PM
#3049
njcyx avatar

njcyx

Zen Follower

Join Date:
Apr 2019
Posts:
374
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

I checked the file includes/classes/observers/class.checkout_one_observer.php and line 31 is indeed.

if (empty($_SESSION['opc']) || !is_object($_SESSION['opc']) || ($_GET['type'] ?? '') === 'ec') {

So this fix may not work.

19 Jun 2026, 2:13 PM
#3050
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,108
Plugin Contributions:
56

Re: One-Page Checkout [Support Thread]

njcyx:

I checked the file includes/classes/observers/class.checkout_one_observer.php and line 31 is indeed.

if (empty($_SESSION['opc']) || !is_object($_SESSION['opc']) || ($_GET['type'] ?? '') === 'ec') {

So this fix may not work.
I'm having a really, really, hard time determining why this error persists in the presence of the above conditional. The log indicates that the request is coming from Request URI: /ipn_main_handler.php?type=ec, IP address: xxx , so $_GET['type'] **is **=== 'ec' so the observer should simply return without 'attaching' to that ZEN_GET_TAX_LOCATIONS notification.

19 Jun 2026, 2:23 PM
#3051
njcyx avatar

njcyx

Zen Follower

Join Date:
Apr 2019
Posts:
374
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

Thanks for your efforts. It may not worth spending more time on a "retired" payment module at this time, at least opc 2.5.5 works really good on my end. I will probably keep using opc 2.5.5 with paypal express, until we decide to upgrade the payment to paypalr.

I'm not sure maybe I'm the only one who use OPC with paypal express now...

19 Jun 2026, 2:34 PM
#3052
njcyx avatar

njcyx

Zen Follower

Join Date:
Apr 2019
Posts:
374
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

I checked the log files for yesterday's issue again and it seems to be that not exactly the same as last time.

[18-Jun-2026 12:49:09 America/New_York] PHP Fatal error:  Uncaught Error: Typed property OnePageCheckout::$isVirtualOrder must not be accessed before initialization in public_html/includes/classes/OnePageCheckout.php:2572
Stack trace:
#0 /public_html/includes/classes/observers/class.checkout_one_observer.php(687): OnePageCheckout->getTaxLocations()
#1 /public_html/includes/classes/traits/NotifierManager.php(106): checkout_one_observer->update(Object(notifier), 'ZEN_GET_TAX_LOC...', Array, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
#2 //public_html/includes/functions/functions_taxes.php(354): base->notify('ZEN_GET_TAX_LOC...', Array, false)
#3 /public_html/includes/modules/order_total/ot_tax.php(66): zen_get_tax_locations()
#4 /public_html/includes/classes/order_total.php(96): ot_tax->process()
#5 /public_html/includes/modules/checkout_process.php(104): order_total->process()
#6 /public_html/includes/modules/pages/checkout_process/header_php.php(13): require('')
#7 /public_html/index.php(35): require('')
#8 {main}
  thrown in /public_html/includes/classes/OnePageCheckout.php on line 2572

[18-Jun-2026 12:49:09 America/New_York] Request URI: /index.php?main_page=checkout_process, IP address: xxxx
--> PHP Fatal error: Uncaught Error: Typed property OnePageCheckout::$isVirtualOrder must not be accessed before initialization in /public_html/includes/classes/OnePageCheckout.php:2572
Stack trace:
#0 /public_html/includes/classes/observers/class.checkout_one_observer.php(687): OnePageCheckout->getTaxLocations()
#1 /public_html/includes/classes/traits/NotifierManager.php(106): checkout_one_observer->update(Object(notifier), 'ZEN_GET_TAX_LOC...', Array, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
#2 /public_html/includes/functions/functions_taxes.php(354): base->notify('ZEN_GET_TAX_LOC...', Array, false)
#3 /public_html/includes/modules/order_total/ot_tax.php(66): zen_get_tax_locations()
#4 /public_html/includes/classes/order_total.php(96): ot_tax->process()
#5 /public_html/includes/modules/checkout_process.php(104): order_total->process()
#6 /public_html/includes/modules/pages/checkout_process/header_php.php(13): require('')
#7 /public_html/index.php(35): require('')
#8 {main}
  thrown in /public_html/includes/classes/OnePageCheckout.php on line 2572.

[18-Jun-2026 12:49:09 America/New_York] Request URI: /index.php?main_page=checkout_process, IP address: xxxx
--> PHP Fatal error: Uncaught Error: Typed property OnePageCheckout::$isVirtualOrder must not be accessed before initialization in /public_html/includes/classes/OnePageCheckout.php:2572
Stack trace:
#0 /public_html/includes/classes/observers/class.checkout_one_observer.php(687): OnePageCheckout->getTaxLocations()
#1 /public_html/includes/classes/traits/NotifierManager.php(106): checkout_one_observer->update(Object(notifier), 'ZEN_GET_TAX_LOC...', Array, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
#2 /public_html/includes/functions/functions_taxes.php(354): base->notify('ZEN_GET_TAX_LOC...', Array, false)
#3 public_html/includes/modules/order_total/ot_tax.php(66): zen_get_tax_locations()
#4 /public_html/includes/classes/order_total.php(96): ot_tax->process()
#5 /public_html/includes/modules/checkout_process.php(104): order_total->process()
#6 /public_html/includes/modules/pages/checkout_process/header_php.php(13): require('')
#7 /public_html/index.php(35): require('')
#8 {main}
  thrown in public_html/includes/classes/OnePageCheckout.php on line 2572.

OnePageCheckout.php on line 2572 is the following

if ($this->isVirtualOrder === true || $this->getShippingBilling() === true) {
15 Jul 2026, 1:55 PM
#3053
njcyx avatar

njcyx

Zen Follower

Join Date:
Apr 2019
Posts:
374
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

OPC 2.6.2. Zen cart 2.1.0

I received the following intermittent warning.

[15-Jul-2026 09:10:06 America/New_York] PHP Fatal error: Uncaught Error: Undefined constant "EMAIL_WELCOME" in /includes/modules/checkout_one_send_welcome_email.php:19
Stack trace:
#0 /includes/modules/pages/checkout_success/header_php_guest.php(43): require()
#1 /index.php(35): require('/home/...')
#2 {main}
thrown in /includes/modules/checkout_one_send_welcome_email.php on line 19

[15-Jul-2026 09:10:06 America/New_York] Request URI: /index.php?main_page=checkout_success&action=create_account, IP address: xxxx
--> PHP Fatal error: Uncaught Error: Undefined constant "EMAIL_WELCOME" in /includes/modules/checkout_one_send_welcome_email.php:19
Stack trace:
#0 /includes/modules/pages/checkout_success/header_php_guest.php(43): require()
#1 /index.php(35): require('/home/...')
#2 {main}
thrown in /includes/modules/checkout_one_send_welcome_email.php on line 19.

Line 19 is the following
$email_text .= EMAIL_WELCOME;

20 Jul 2026, 4:37 PM
#3055
bumba000 avatar

bumba000

Totally Zenned

Join Date:
Feb 2007
Location:
Pennsylvania
Posts:
858
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

Hi All,
Running ZC 2.2.2 on PHP 8.2.31 on Clone of RC template. I believe this has happened 4 times now. Customer checking out, enters address and payment details, clicks confirm and gets the spinner. Goes on and on.. customer either reloads or clicks back and submits again. One customer ended up reloading 3 times causing 3 identical orders. The message in logs was related to email timeout php over 30 seconds. We increased the timeout to 90 seconds, but this does not prevent customers from reloading or going back and submitting again.

Thank you,
John

20 Jul 2026, 5:29 PM
#3056
bumba000 avatar

bumba000

Totally Zenned

Join Date:
Feb 2007
Location:
Pennsylvania
Posts:
858
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

I forgot to mention that we're now using SendGrid email service. I do not recall whether this was happening prior to using their service.

20 Jul 2026, 5:42 PM
#3057
bumba000 avatar

bumba000

Totally Zenned

Join Date:
Feb 2007
Location:
Pennsylvania
Posts:
858
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

Sorry to keep updating this thread. We've disabled the one page checkout, reverted back to sending mail through our own server and have again had a timeout during checkout.

20 Jul 2026, 7:27 PM
#3058
bumba000 avatar

bumba000

Totally Zenned

Join Date:
Feb 2007
Location:
Pennsylvania
Posts:
858
Plugin Contributions:
0

Re: One-Page Checkout [Support Thread]

It's looking like this is happening due to some ModSecurity rules. Is there any recommended settings for CWP, OWASP and ModSecurity? Logs are stuffed full of legitimate traffic/users being blocked from doing regular stuff, like checkout, bookmark etc...

Thank you,
John

21 Jul 2026, 2:34 PM
#3059
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,108
Plugin Contributions:
56

Re: One-Page Checkout [Support Thread]

v2.6.3 of One-Page Checkout is now available for download: https://www.zen-cart.com/downloads.php?do=file&id=2095

This release contains changes associated with these GitHub issues:

#463: Correct PHP fatal error during paypalwpp special checkout, really, this time
#470: Correct "Shipping Address, Same as Billing" state management.
#474: Add missing language constants (pre-zc220) when a guest 'converts' their account after creating an order.

21 Jul 2026, 3:25 PM
#3060
dbltoe avatar

dbltoe

Totally Zenned

Join Date:
Jan 2004
Location:
N of San Antonio TX
Posts:
9,843
Plugin Contributions:
17

Re: One-Page Checkout [Support Thread]

FYI,

Files come down as 4.6.3 vs 2.6.3

Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com