Zaza has joined originally on loan for a fee of £5m and the Hammers can pay £20m to make the deal permanent.
The Italy international played just one season for Juventus, scoring eight goals in 24 appearances.
The 25-year-old has 14 caps for Italy, scoring just the one goal.
Zaza claimed on the club's website that the West Ham fans played a big part in his move and that he wants to help get the Hammers into Europe.
"I have been fortunate enough to have already played at the new Stadium with a different shirt," he said.
"It is a beautiful stadium and I felt the warmth of the fans and this was a big reason why I wanted to join the club.
"I want to become a better player and I know I can do that at West Ham. Unfortunately we could not qualify for the Europa League, but I am hoping I can help the club do that next season".
Will Zaza be a hit at the London Stadium?