Cheapest way to accept card payments
For card payments specifically, the cheapest UK options are pay-as-you-go readers: SumUp charges 1.69% per in-person sale and Square and Zettle both charge 1.75%, with a reader costing roughly £19 to £39 up front. No card provider avoids a percentage, because the card schemes themselves charge one. The only way to stop paying a percentage is to take some payments off cards altogether.
That is what pay-by-bank does. An Open Banking payment moves money directly between bank accounts, so there is no card scheme taking a share and a provider can charge a flat monthly fee instead. BriizPay works this way and does not process card payments at all.
On £5,000 of monthly takings, 1.75% is £87.50 every month, and £105 if you have a better month at £6,000. A flat fee is the same figure either way.
Rates quoted here are the providers' published UK pay-as-you-go rates and change from time to time. Check their pricing pages before deciding.
Related questions
Try it on your own takings
Every account starts on the Free plan and your first 3 payments are free, so you can see a payment land before paying anything.