There's no pay from the IOC (International Olympic Committee) when they win a medal.. But many many countries Olympic committees pay their athletes for winning medals. Among them, The U.S., Russia, Canada, China & Italy and many more countries.
$20K-$50K per gold medal is typical in bigger countries.. Silver & bronze obviously get less. The smaller countries actually tend to pay more, $50K-$100K, since a single gold is more important to their country. Some athletes receive cars, houses and promise of jobs when they retire.
Higher profile athletes will also get bonuses from their sponsors.
Starting with the 1988 Olympics in South Korea, Olympic athletes were no longer barred from taking payments and bonuses. It was a rule that was not followed anyway, so they just scrapped it. 1984 was the last "amateur" Olympics.