The figure is less than the £50 million that had previously been speculated but it is still City's biggest fee of the transfer window yet, after the £21 million it paid for IIkay Gundogan and the £14 million it coughed up for Nolito.
Bayern Munich and Real Madrid also expressed interest in Sane, but it seems City's willingness to pay so much money saw it close the deal.
The signing lasts for five years, according to Sky Sports, and fulfills manager Pep Guardiola's wish to strengthen the team's attacking capabilities. In fact, he was why Sane was so keen to sign up to City, telling the club's website:
"One of the reasons I decided to join City was Pep Guardiola; he convinced me to come here and that I can continue to progress. I know I will learn a lot under him and now I can take the next step in my career. I followed Pep at Barcelona and at Bayern where he achieved a lot and worked really well with young players.
"I think he can make me a more complete player. I think I will need a bit of time to start with because it's another league and there's a different style of play but I think I can adapt very quickly."
As an attacking midfielder, Sane has scored 11 goals in 47 league appearances for the Shalke, and is known for being an intelligent playmaker who can work as well at either end of the pitch.
City's spending spree before the start of the new Premier League season is unlikely to end with Sane. The club is also in talks to sign John Stones from Everton, which wants a massive £50 million for the deal to go ahead. City reportedly wants to pursue the deal, but only if it can get the price down.
The club will have to be quick if it wants Stones to start in the first Premiership game - City are at home to Sunderland on August 13.