Unfortunately, due to sanctions, cards of non-Russian banks will not work. You can only pay by cash in Russian rubles or with a Russian bank card. USD will not be accepted at the stores either.
If needed, driver can stop at the bank so you can exchange money to Russian rubles.