Re: Pay later through customer control panel?
You can either create hidden product "pay invoice/order" or similar and allow customer to enter any amount or they can just reorder same products - create new order.
The main problem IMO with orders like this comes from the fact that XC creates the order before any attempt to pay for it and complete transaction. This has been discussed in depth here and I seriously doubt there will ever be a solution for it.
So basically you don't know if customer wanted to just abandoned the order or their payment failed so to show it in their account and allow them to resubmit. Since order is created before customer is given opportunity to pay for it.