Well you have two choices when figuring out how to accept payments and deal with accounts really. You can either buy a pre-made solution, which is fast, easy and often time reasonably priced, but of course limit you on customizability and how the actual code works.
If you chose to build a solution you are able to make everything meet your exact needs but then you are looking at a ton of time and effort to get what you really want. And time and effort are quite expensive.