I know it's not nice to cross-post, but it looks like this belonged here to start with. I am writing a manual to tell employees how to process internet orders.
In answer to bobonov's question, I use USAePay and PayPal modules and both allow you to use "authorize" only for a transaction and then do partial captures (on the gateway website, not within ZenCart) of the funds as you ship items on the order. I also use the Super Orders mod to let me split orders for back ordered items and Edit Orders to let me change quantities of items.
However, consider the following very likely scenario:
A customer orders e.g. 3 widgets and pays with a credit card or PayPal. You only have 2 in stock to ship and need to backorder one.
This is not the same as having to backorder a separate item. You can't SPLIT the QUANTITY in either the Super Orders or Edit Orders mod. You can only change the quantity (EO) or split all of the widgets to a different order (SO). We will assume that, like most good shops, you promise not to charge the customer for the backordered item until it is shipped. You use "Authorization", not "Capture" for your payment gateway transaction so you can capture only the funds for the items you shipped and get the rest later when you ship the balance.
One possibility is use Edit Orders to reduce the quantity on the original order and then CREATE a new order for the customer for the back ordered item. Use the Encrypted Master Password mod to login to the customer account with your administrator password. In the SHIPPING module you can use minimal shipping charges and then credit them in SO since you captured the shipping charges with the original shipment. The customer should not have to pay extra shipping charges just because you didn't have the item in stock.
But the tricky part comes with the PAYMENT module. The problem is how do you complete the NEW order you created if the customer already paid for it. From the payment gateway, you can obtain the full credit card number and expiration date. I assume you do NOT store them on YOUR server for security reasons. So you can create the CC charge for the NEW order AS IF the customer had done it. (In PayPal you can simply create a new authorization but you still have to bypass the payment module in ZenCart because you don't have the customers password for PayPal.)
For the original shipment, in the gateway, you reduce the capture amount to the items you shipped (plus shipping and tax) and capture that as the FULL amount for the original order. Now you have a second new order for the backordered quantity and the correct amount held in the authorization queue.
Whatever you do, you must notify your customer that you are making these changes so they will understand the charges on their credit card bill.
If someone has a different way to handle this, please let me know.


I know it's not nice to cross-post, but it looks like this belonged here to start with. I am writing a manual to tell employees how to process internet orders. 

