ATMs are everywhere in St Petersburg, and generally accept all major credit and debit cards. You may save on fees by bringing cash in US dollars or euro with you and changing them at any bank or exchange office (обмен валют), where you'll often get a better rate than that offered by credit cards.
You can pay by debit and credit cards in most smarter restaurants and shops, but it's never a good idea to rely on being able to do so: always carry some cash.
Restaurants Leaving 10% on the table is the norm, when service has been good. Not necessary at very cheap places.
Bars Not expected unless table service is provided. Then 10%.
Taxis Not expected, but round up or add R50 for a long trip.
Hotels R50 per bag.