How to handle AJAX shops and one-click checkout


following use case:

I’ve got a shop with digital products. Whole website works as a one pager. So no reloads and no new page requests.
Whenever a shopping process is completed the cart seems not to be cleared, so the next checkout will have all former products added. Any idea how to stop this? I’ve played around with trackEcommerceCartUpdate without success. What is the correct way to handle this?

Additionally, besides a normal shopping cart (with multi step checkout), there is a one-click checkout process.
I’m struggling with correct tracking of these. I’ve tried to handle it as single product cart:

// One click checkout
_paq.push(['trackEcommerceCartUpdate'], ...);
_paq.push(['addEcommerceItem'], ...);
_paq.push(['trackEcommerceOrder'], ...);

Any ideas how to track a “one-click” checkout the right way?

Thanks for any help!