Setting up a one time payment
WooCommerce Subscriptions offers a signup fee you can use to collect a one time payment using WooCommerce Subscriptions.
Here is how.
Set the recurring price to zero
Set the duration to the required time
Set the sign up fee to the full amount you want to collect
https://cloudup.com/cPoOr2lFPj5
click on the image to enlarge.
Setting up a free plan to downgrade to
If you want your users to be able to downgrade to a free plan you can use WooCommerce Subscriptions and setup a variable Subscription product.
Setup a plan type attribute
https