Dont’ charge customer until product ships – woocommerce [closed]

This is not so much a WooCommerce issue as a payment gateway issue. Paypal distinguishes, for example, between ‘authorization’ and ‘capture’, Worldpay has similar terms (and a different API).

E.g. for Paypal see https://cms.paypal.com/es/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_authcapture.

In the case of Paypal, check https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/pp_wpp_integrationguide.pdf:

Authorization and Capture API operations:
DoCapture
Capture an authorized payment.
DoAuthorization
Authorize a payment. (Express Checkout only)

So you probably need at least the Paypal Express Gateway plugin: http://www.woothemes.com/products/paypal-express/