| Stripe, Block, and PayPal each solved a massive pain point. PayPal provided a way to pay people and vendors without giving away your credit card number. Square made it easy to accept payment in person on a phone, without an extensive upfront underwriting experience and without expensive fixed monthly fees. Stripe did the same as Square, but for accepting online payments. Fraud and Risk come in many forms, and these providers, even with their UX innovations, sit on top of those same rails to reduce fraud. Without those rails, buyers can’t trust sellers and sellers can’t trust buyers. In my opinion, you need to find a way to solve that problem before you can eliminate the fees being captured by these providers. |
You could eliminate a lot of the fraud by moving off a mostly-static identifier to merchant, amount and time-limited tokens the user generates with their bank (or the merchant redirects them there). This would address a lot of the issues - the tokens are useless when leaked (as they only work against the merchant's own account) and can't be misused even by the merchant to go beyond the agreed amount or time limit.
This means with such a system you’d immediately eliminate a whole category of fraud, with the only thing remaining being merchant-level disputes like goods not as described/etc, which can easily be made optional and the user can choose to opt-in for the extra fee. Then you would actually have a good case for lower/no mandatory fees at all.
One problem you need to keep in mind is that fraud mitigation is a big industry in an of itself (some of it is real, some complete snake oil but relies on the underlying problem being real to sell itself) and wouldn't be in favor of a system that is inherently immune to (at least some types of) fraud.