The credit card companies hate it for the obvious reason and then the traditional reason was they would impose contractual requirements or get laws passed to prevent companies from offering a cash discount. People have posted here saying this has been reversed by federal rules, but then you're still left with two reasons.
One, inertia. Companies haven't realized they're allowed to do it now. That'll change over time.
Two, there are ways to transfer "cash" digitally without paying the credit card fees (i.e. ACH), and there are reasons to want to use digital payments -- making payments over the internet being a major one -- but ACH is ancient and it needs some kind of modern open standard in order to do things like make a payment request and determine in real-time whether the source account actually exists and has sufficient balance to make the payment. Various attempts to do that are constantly being made and constantly being fought against by Visa et al.