isEmpty() incorrectly returns true on checkout success page
I have a client whose eCart store has worked great for over a year. About a week or two ago their customers started getting an empty cart error message on the checkout success page after placing an order.
The error message the customer sees is "Session Timed Out... Your order information could not be found." It's a custom error message I wrote that is only displayed if the cart is empty (so the customer doesn't see a blank order form if their session expired). In other words:
if (!$eCart1->IsEmpty())
// display shopping cart info
} else {
// display empty cart message
}
When I comment these lines, the shopping cart items and total are displayed properly.
We're using PayPal local checkout and this problem happens with both credit card and PayPal payments. My client reports that the problem is intermittent but has been happening with increased frequency lately.
Does anyone have any ideas why eCart is incorrectly returning true in this situation? Any thoughts are GREATLY appreciated.