В принципе в Санкт-Петербурге можно вполне обходится без налички. В прошлом году туда летал на три дня, не снимал наличные рубли вообще. Но рекомендую посмотреть курс конвертации твоего банка и курс по которому ты можешь обменять наличные евро на российский ржубли. Возможно(зависит от курса конвертации) тебе окажется выгодней обменять на бумажные ржубли и платить ими. Опять же будут потом сувениры знакомым в Таллинне.
Большинство музеев, клубов и баров Петербурга принимают карты, но если вдруг захочется покататься по рекам и каналам или поесть в столовой номер один, например, то может понадобиться и наличка