How exactly do you handle pre-order/pre-sales? Where you take an order, verify a card, but not bill till you are ready to ship. Is this something done via your cart software, your payment gateway or what?
The electronic payment gateway will authorize the transaction for a certain period of time - this time is set by the issuing bank. It could be one day to five. During this time, funds are earmarked for your company.
If this pre-authorization passes, you can still usually sign into your virtual terminal to get the order number and complete the sale though. If the funds are still available from the customer, the money will be yours.
Most of the API will support a pre-auth / post-auth / sale of the transaction as well. If you are usually shipping in less than three days, you can update your cart to let the customer know the product is being shipped and have the cart post to the gateway a post-authorization / sales ticket with the information you have stored in your database. You don't need the credit card number to complete this transaction either.