It’s based on transaction fees, they make money from that. Stripe is generally lower than PayPal and has a [much, much] better API (ymmv), whereas PayPal tends to be more convenient. You would just ideally provide integration with one or the other or both, you shouldn’t be concerned with cost as it shouldn’t be you paying it, you aren’t buying or selling from the store.
If you are wanting to provide a generic service that provides storefronts, note that it’s unlikely to be your decision to make anyway. A client is likely to have their own choice of provider which may not rely on either.
Bear in mind that going down this road is an enormous job. It is your choice, but if you actually want to make money here, I’d strongly advise building on top of an existing platform (Shopify seems current best choice for small businesses). The sheer number of features needed (and edge cases to cover) when trying to build a complex app like this for a single client is staggeringly large. Building a generic service of your own that can handle any client (each with their own quite specific, subtly different business rules), multiplies that number exponentially. For example, say you have a client that wants to track abandoned baskets, with reporting analytics, and sends out emails after a given period of time encouraging customers to pick them back up. This isn’t an uncommon need, but it’s a huge thing to build on your own; you get it out of the box with a platform like Shopify.
This is a time/money issue. To build a generic platform that works well could take years of iterations. Building on an existing platform allows income, which can then support you gradually building your own platform. Building your own generic platform from the get-go is likely to necessitate a large amount of spare cash to sustain you for the very long period where you will not be making any money.
Yes, from your perspective, this is always going to be a better option because it means monthly income.