"The 2% cashback has to come from somewhere."
Yes, but in reality, the program comes from an upside down approach to overcoming the obviously anti-competitive practices that VISA/MC use to forbid retailers from offering discounts for not using VISA etc..
You can't say "Get 2% if you use cash instead of VISA". (Notice that nobody ever advertises that?) Because VISA doesn't allow it.
You also can't say "$1.99 + 20 cents processing charge" - no, the price must be listed including charges. (Notice that nobody every does this?)
But you can possibly find ways to give points, or 'cash-back'.
Until now ... [1]
VISA is now saying that even such 'cash back' rewards programs are a violation of its rules.
Have a look at the press release - it's positively Orwellian:
"In order to maintain a level playing field" -> "In order to avoid all transparency and maintain our hidden monopoly" we require that nobody can take steps which highlight the how our transaction fees are embedded in the price.
These are pretty blatant anti-competitive practices and taking them on is tantamount to taking on the entire banking system. It's not going to happen.
There would need to be an 'outside disruptor' like the Word Processor to the Typewriter kind of thing.
[1] https://www.pymnts.com/visa/2018/non-compliant-cash-discount...