opc v2.6.1, zc2.1.0, paypalwpp, php 8.1
I received the following intermittent warning.
PHP Code:
[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.