This is all over the place.
Even with credit cards, it doesn’t cost 3% of something to process the fee. A $100 purchase yields $3 to the credit card and a $1000 purchase yields $30. It’s literally the same size data transfer. There’s some minimal additional cost for fraud/insurance but they don’t base their fees on direct costs.
Also, generally speaking, when there is some regulation forcing cost plus fees it makes things suck more (eg, water and power).