This always bugs me because businesses charge customers for the fees when they should be taking the responsibility for them internally.
In a cash business, a person is paid to count tills and ensure money matches up. Then, someone has to do a bank run and deposit that cash. This takes time and labour. This is not directly charged to the customer as a service fee.
Meanwhile, Stripe or whatever payment processing platform a business uses does all of that for a business, and charges the business a fee. This includes a ton of value added services such as financial overviews and analytics, traditionally something an accountant on payroll would work on.
Businesses should be eating the cost as it's cheaper than equivalent billable hours for an accountant or allocating labour to count, manage, and deposit cash. I'm all for cashless businesses but it should be the owner's responsibility rather than fees for customers.
I have a small business plan with Stripe and I'm charged 0.40 cents + 0.4% per card transaction. A bit more for certain types. It's cruel that these businesses are charging more than that to the customer, I assume the larger businesses likely get a better deal than that.
You make a good point about size of the transaction, the 0.40c fee is much more significant for small, single digit dollar purchases. Another way where a coffee shop is hurt more than a mechanic repair in the hundreds. Mentally, I'm more likely to tap and go for a coffee than an oil change.