The Premier League club agreed a £17.5m deal with Dortmund earlier this week, Sky Sports News understands.
“West Ham is a big club with good fans and I am happy to come to play in the Premier League,” Yarmolenko said.
“The Premier League is the best league in the world and I know that an interesting project is being built here at West Ham. The team wants to achieve high things and I am excited for this challenge.”
The 28-year-old is Manuel Pellegrini’s fifth signing since taking over as West Ham manager.
The club have recruited Jack Wilshere (free), Ryan Fredericks (free), Lukasz Fabianski (£7m, Swansea) and Issa Diop (£22m, Toulouse).