Is there any native/third-party addon to manage pre-order for Cartthrob in expressionengine? or do we've to build something bespoke? Any idea?
(I'm with Vector; we make CartThrob)
One question I have about this is how you're handling this on the payment gateway side. To collect the card information but not charge it right away, you'll need to use your payment gateway's vault function. That's doable but isn't how CartThrob single-purchases work out of the box; it just charges the card immediately at checkout.
An interesting thing is that CartThrob Subscriptions does use the gateway vault and allows making arbitrary single charges. You might be able to use CT subscriptions for this and make a fake $0-plan to just get the card number in the vault and then charge them later.
Or, the cleaner solution would be a custom payment gateway for CT. That would be pretty straightforward to make and would store the cards in the payment vault. You could combine that with a module or some other backend UI to mass-charge a whole bunch of people at shipping, or one at a time if they don't all go out together.
Feel free to submit a support request if you'd like us to help with that!