This is plugin for WooCommerce that will simply the checkout process if the cart total is zero.
For normal checkout, WooCommerce will include a number of extra fields by default, including billing information, address, etc.
This plugin will remove all of the standard billing addresses information for a free product (or free group of products), requiring minimal information.
To use, simply install and activate the plugin. It will do the rest automatically.
If you need to change the fields it removes, there is a filter (“rktgk_wc_free_checkout_remove_keys”) to remove fields by their meta key.