I’d imagine payment software ... historically ... not have an unnecessary middle man.
I used to work in the payments industry, and it's middlemen all the way down. Visa/MC/etc. don't deal with small fry. There is an enormous amount of regulatory overhead (which is not a bad thing here, fraud is rampant and it's a cat and mouse game). Unless you're buying from a heavy hitter like Walmart etc., that business is going through at least one layer of transaction processing before it gets to the issuer. The smaller the business/processing traffic, the more likely it is that there's several hops in the chain.
Example: Processor A has direct connections to V/MC (which involves hosting V/MC's hardware in a secured datacenter with multiple redundant network connections, and paying for the privilege). Unless a client does $X in volume, the overhead outweighs the revenue from that client. Clients that process less than $X still need servicing, so Processor B contracts with Processor A (hosting Processor A's hardware, paying for dedicated data lines, etc.), dealing with smaller clients that add up to at least $X so Processor A is happy. Processor B may have a volume floor as well, in which case the chain continues. Each hop takes a percentage, and generally the clients with the lowest volume pay higher fees per transaction. Now add in other card types like Amex and Discover, debit transactions (which require dedicated hardware to decrypt/encrypt the PIN to verify before passing the transaction), EBT, etc. Only the largest processors are going to have direct capability to handle all of that. More typically, mid-sized processors contract with multiple other processors to cover the spectrum... or just not worry about Discover or something.
tl;dr there's a whole lot more to it than just rolling your own point of sale software.