Franco, 32, was out of contract following his release from Villarreal in the summer and had appeared close to joining Argentinian outfit Estudiantes last week.
But the striker has opted for a switch to Upton Park, where he is expected to be a back-up to first-choice forward Carlton Cole.
"Everything is sorted out, I fixed it this morning and I am going to West Ham," Franco said.
"I am very happy. I am going to the Premier League, which was one of my wishes, and I am glad it has been finalised."