In Canada, most CC agreements with merchants do not allow the merchant to pass the fee on to the consumer. You can't charge $102.04 for a $100 product if the customer is paying with Visa. Thus the total cost to consumers is completely hidden.
Just like the cost of paying by any other mean is. Cash or cheque payments are not free.