You can set up a merchant account directly with your bank, and integrate with their api directly. I believe it is an expensive option though, and time consuming, compared to using a third party processor such as PayPal or stripe.
This is what I wouldve wanted, but googling more bout it, I dont find it an option anymore (thought I would not pay for any fees using this way).
Thanks for evryone that has answered.
I have done it for a client in the past. They just went directly to their bank manager and had a meeting to set it up. It didn't work out any cheaper though - the bank still wanted to charge similar processing fees. I don't think you can avoid those fees at all, you can only reduce them as you scale.