It pisses me off when companies want charge 3% or more to pay them by credit card. If you don’t want to take credit cards fine, but don’t profit from it! Elavon through Costco only charges 1.99% + 25 ¢ (for phone transactions) so don’t lie and try to make profit from a credit card transaction.
California and about 10 other states were trying to prohibit these surcharges https://oag.ca.gov/consumers/general/credit-card-surcharges
But now, starting with the US Supreme Court, surcharges will probably be allowed. (See Expressions Hair Design https://www.supremecourt.gov/opinions/16pdf/15-1391_g31i.pdf
Technically, Civil Code Section 1748.1(a) prohibits retailers from imposing a surcharge on customers who pay with a credit card, but allows them to offer discounts for cash or check.
There is a work around for merchants, under the first amendment and how this surcharge is advertised. See 9th Circuit Opinion: http://cdn.ca9.uscourts.gov/datastore/opinions/2018/01/03/15-15873.pdf