Hi,
I think that's a bug because we assume that when you confirm an order you were displaying a cart with valid products (which is the case, but the products got invalidated between the moment the customer saw the last page of the checkout and clicked on the finish button).
Add the code:
$cart = $this->initCart();
if(empty($cart->products) || !is_array($cart->products) || !count($cart->products)){
return false;
}
after the line:
in the file components/com_hikashop/controllers/checkout.php and that should avoid such cases.