Customers opting to pay for purchases in Switzerland using credit cards could end up forking out more than those using cash.
A new ruling opens the way for shopkeepers to pass the charges levied on them by credit card companies onto their customers.
It also allows retailers to offer cash-paying customers a discount.
Switzerland's biggest credit card companies have condemned the decision, while consumer groups have welcomed it.
The Federal Competition Commission ruled on Tuesday that retailers could charge an extra commission on purchases by credit card users.
Until now retailers have had to shoulder the financial burden of credit card commissions themselves. In addition, they have been prevented by the credit card companies from offering discounts to cash users.
The Commission said that because of their dominant position in the Swiss market, the four main credit card companies - Cornèr Banca, Europay, Swisscard AECS and UBS Card Center - had been able to impose this clause.
It said it would now be illegal for credit card companies to stop retailers from offering discounts to consumers paying cash.
The Consumer Protection Foundation said the ruling was good news. "People paying cash will pay less," said the organisation's Jacqueline Bachmann.
But she called for transparency in the way the ruling was applied to ensure there were no "unjustified price rises".
The credit card company, Europay, said it was "surprised and disappointed" at the ruling, claiming it ran counter to a decision by the European Commission.
Europay said it was waiting to see the Competition Commission's arguments in writing before deciding whether or not to appeal.
Credit card summary
The Federal Competition Commission has ruled that retailers can charge a commission on purchases made by credit card.
The extra charge will offset the levy imposed by credit card companies.
Retailers will be able to offer discounts to cash-paying customers.