Hi,
I don't see how the default behavior of the system is different from your needs ?
By default, when you add a product to the cart and go to the checkout a default payment method will be preselected in the cart_payment_id, however, the customer will still be able to change it if he wants on the checkout and that change will be saved in his cart.
If he comes back later on and add another product to the cart and go to the checkout, the previously selected payment method will still be selected and the customer will still be able to choose another one if he wants to.
So why would you want to set the cart_payment_id to 0 ? and at which point in the process ?
You could use one of the triggers called during the loading of the cart I guess... However, I've never done that so I can't guarantee anything.
www.hikashop.com/support/documentation/6...fterCartProductsLoad