This really isn't a Zen-cart question but more of a general web merchant question.

How do people generally handle delayed credit card charges? The products we sell could sometimes take a few weeks to ship (due to custom options, etc.) and we'd like to hold off charging the customer until the shipment is made.

I know we can do just a CC authorization without payment but from what I understand we will be charged a fee if we capture the charge after the authorization expires (which I guess happens in a few days, perhaps at most a week).

So how can we charge the customer's credit card weeks after an order is placed? I don't think storing the customer's CC info is proper (or even legal anymore) so reauthorizing doesn't seem to be an option. I suppose we could email the customer when their order is ready to ship and have them re-submit the order but that doesn't seem very customer friendly.

Is this just something that is not typically done? Should we just go ahead and charge the credit card immediately?