So the way I did it was with the Login extra of course. And the payments with the Mollie API. I’m not a PHP expert but the basics of the API are quite easy. Mollie offers annual and repeating payments as well.
Bit late to the thread but check out - https://memberful.com/features/ The rates aren’t great on the free account but they handle all the functionality.
Should be fairly easy to integrate the payments and protect the relevant pages.