The usual approach is to set a RADIUS + MySQL + HTTP/PHP server that’s controlling it, and set MikroTik hotspot to redirect to that page (with the login.html page HTTP redirection with the necessary variables from hotspot).
I made a presentation years ago - there are only slides (ask MikroTik to revive the tiktube.com service with the video recordings!). https://mum.mikrotik.com//presentations/PL12/daniel.pdf
Then you make the webpage and panel for the “cashier” to accept the user when he pays. Or you can even make it automatic using PayPal.
You can use User Manager on MikroTik and some scripting - and then it won’t be even necessary to have external server . Or even without User Manager - just only scripting. This would be tricky, but it’s possible (if it’s still a human accepting a user after he pays cash, no automatic online payments) .