Generally, retailers like credit cards because people usually spend more money when they pay with credit cards.
That is why you do not see major US retailers offer discounts for paying with cash/debit card/ACH. The only one I can think of is Target, that offers 5% off if you use Target Redcard, which can be linked to your bank account.
I presume smaller retailers are hit the hardest with fees, as they face the most payment processing middlemen and have zero leverage in terms of volume from which to negotiate that stuff. So maybe Starbucks doesn't care how you pay, but Joe's Joe down the street has a hardwritten sign up by the till asking you to consider paying with debit or cash because it saves them a few percent on each transaction when you do.