It's usually American Express or Diner's Club which isn't accepted, and often because a) the merchant doesn't have the facility but more often b) Amex and Diner's club charge merchant's a much higher transaction fee.
I understand a reluctance to process R10 transactions due to fixed costs, I can even understand cash discounts (and why not pass a benefit to a customer), what I can't handle is when a place has R100 to R200 minimum policies (some bars/clubs for example). That isn't avoiding fixed costs, that is avoiding tax.