Ubercart - Manual Credit Card Processing
I believe this is more of a workflow question than, a lack of module(s) question.    You can setup Ubercart so that you accept an order without accepting a payment.   You can set the status of the order as non-processed.   You then process their payment manually (via phone, online, inperson, etc), then, manually, change the status of their order to process.