Hi,
Sorry for the delay. I only saw your message now.
I would recommend to add some debug in the after_end function in components/com_hikashop/controllers/checkout.php
There, you can see a call to cleanCartFromSession which will:
- clear the cart session data if necessary
- redirect to the "return_url" of the payment method of the order
So It's possible that the after_end is skipped if you have a return url configured in the payment method settings because of that.
Then, you aslo have a check on the user with the code:
if(empty($order) || (hikashop_loadUser(false) != $order->order_user_id && $order->order_token != $order_token))
return false;
So if the order cannot be found in the database, or the current logged in user is different from the user of the order, or if the order_token of the order in the database is different from the order_token passed in the parameters of the URL (for guest checkouts), the system will refuse the display of the after_end view.
These are the two reasons which would make is so that the after_end URL would be called but that the after_end view itself would not be displayed.