I use woocommerce subscriptions to do something like this. But to do it i have to set the order up as a custom order from the get go.
Another possible way is to invoice the customer and send them the product letting them pay when they are ready. You would do this by going to orders and clicking “Add New”
It took some time but this turned out to be an error with the database, and possibly some modules installed on the server. It eventually became easier to just wipe the site and start over.
I should have clarified this is only a small snippet of the code that is output. http://www.BetterPCHealth.com is the site I am trying to build. I put the link so people could possibly see what is going on.