The 29-year-old Yaroslav Rakitskiy signed a contract with Zenit through the end of the 2022-23 season after spending his entire career with Shakhtar Donetsk and winning seven Ukrainian titles.
The move is unpopular in Ukraine, where tensions remain high amid Russia's ongoing aggression against the neighboring state, according to The Associated Press.
Zenit is owned by Russian state gas company Gazprom, a company that has long been used by the Kremlin as an economic weapon in Russia's infamous "gas wars" with Naftogaz and that is mulling full halt to gas transit via Ukraine once the valid contract expires before Jan 1, 2020.
Some Ukrainian media questioned whether Rakitskiy should now be dropped from the national team, and his Instagram page was flooded with critical and sometimes abusive comments.
Rakitskiy hasn't directly addressed the criticism, but he thanked Shakhtar's fans and owner in an Instagram post and said he was "very happy" in a statement on Zenit's website.
"I've gone from one top team in Shakhtar to another top team in Zenit," Rakitskiy said in the statement. "I'll do everything I can and put in 100 percent on the field for the team, so that the team always wins."
The Ukrainian national team has previously appeared reluctant to call up players from Russian clubs, and some government politicians called on other countries to boycott last year's World Cup. A sports ministry order from last year bars government financing for athletes while they take part in competitions in Russia.