I'm not sure I understand your problem. I don't see all the connections between the different elements you're describing.
In the configuration of HikaShop, you have the option "Clean cart when order is". If the value is "created", when the order is created, the order_id is put in the session and the cart is removed immediately. If the value is "confirmed", when the order is confirmed (after the payment notification is received), the cart is removed.
Maybe you have that option set to "created" and setting it to "confirmed" would solve your problem ?