Hi el,
I suggest you to try:
OpenWISP2 controller to manage your routers and access points, you can find an automatic install procedure here:
ansible-openwisp2.
OpenWISP User Management system for to provide a way for your users to register and a RADIUS system for your captive portal.
It doesn't really have a billing feature, you can enable credit card registration and users will be able to pay once to register.
Unfortunately, the documentation provided in the README on github is all the documentation you can get.
Setting up this module is a pain, especially if you want to enable the credit card feature, therefore you may want to find/try
other equivalent RADIUS compatible open source software projects.
To reply to the initial question posed in this thread by BIYOHNE Fabrice:
I don't know if we'll ever be able to write a complete step by step guide for all these modules and they way they interact with one another.
The way you setup, deploy and configure all this software really depends on your requirements and what you want to achieve.
The amount of work required to do this setup it's a matter of days and writing proper documentation for such work probably requires weeks and at the moment nobody can afford to do this.
Maybe if we had more contributors and more people who wrote documentation we would be able to provide a set of guides that show how to setup the most common scenarios, but at the moment we have no such contributions unfortunately.
Federico