The 118 118 directory service has been fined £80,000 for failing to make its charges clear to consumers, the regulator said.
PhonepayPlus has told all 118 directories to improve their pricing information as a result of the investigation, which found that many consumers are not aware of how much they can cost.
A number of complainants had experienced "bill shock" after using 118 118, but the regulator warned that most of the 118 directories charge a connection fee of between 50p and £4 and then up to £5 for every minute on the line.
The regulator ruled that 118 118's adverts, which ran on 1,220 London buses in January and February this year and on its website, did not comply with the relevant code of practice.
It found that consumers would have had difficulty reading the pricing information on the buses from a distance, while those using the website had to scroll down to see the charges.
It ruled that customers who had already made a valid complaint by today should be refunded.
A call to 118 118 costs £3.58 for the first minute and £1.99 for each subsequent minute, charged by the second, plus any network charges.
"Under our regulations, 118 services must tell consumers what the price is when they promote their services, and consumers that call directory enquiries should be able to get the number they are looking for without any unreasonable delay.
"These regulations exist to protect consumers and good business and 118 providers must stick to them. This is an issue PhonepayPlus will continue to monitor closely."
PhonepayPlus reminded 118 providers that they should include pricing information wherever the service is promoted, and promotions on moving objects such as trains or buses, or a billboard that is likely to be seen fleetingly, should display the cost of the service in a clear font size.