Choupo-Moting, 28, is their fourth signing of the summer after Darren Fletcher, Kurt Zouma and Josh Tymon.
"Eric has been on our radar for several years and we actually tried to bring him to the club four years ago," chief executive Tony Scholes said.
Stoke open their Premier League season with a trip to Everton on Saturday.
Choupo-Moting, who has also played for Hamburg and Mainz, has made 200 Bundesliga appearances and played in the Champions League with Schalke.
A former Germany youth international, he switched international allegiance to Cameroon in 2010.
He represented the Indomitable Lions at the 2010 World Cup in South Africa and has won 48 caps, scoring 13 goals.
Find all the latest football transfers on our dedicated page.
Stoke City have signed Cameroon winger Eric Maxim Choupo-Moting on a three-year deal after his contract ran out at German club Schalke.