Enable Subscription and select Expires after on the product editor. Then you can add expiry commands in your servers.
The subscription is then deactivated and becomes a one-time payment with more payment methods available. If the customer buys a second time before expiration, the expiration date will be extended.