“We’re very happy to have it done,” Mets general manager Sandy Alderson said Thursday. “He’s been an excellent player for us. I think he’s got tremendous upside and (I’m) happy we found some common ground. We’re very happy about it, and I hope he is, as well.”

Lagares, who was in New York for a physical Thursday, retains his $528,696 salary in the major leagues this season under a one-year deal agreed to March 6, which also includes a $25,000 bonus for winning a Gold Glove last year.

The new deal adds salaries of $2.5 million in 2016, $4.5 million in 2017, $6.5 million in 2018 and $9 million in 2019. The Mets have a $9.5 million option for 2020 with a $500,000 buyout.

He would have been eligible for salary arbitration next winter. If the option is not exercised, he can become a free agent after the 2019 season.

“I love the Mets,” Lagares said Wednesday. “That’s the team that gave me the opportunity when I was 16 years old. That’s the team that gave me the opportunity to play in the big leagues. ... This is where I want to be.”

The 26-year-old hit .281 with four homers, 47 RBIs and 13 stolen bases last year, when he won his first Gold Glove for outstanding defensive play.

“He’s obviously an outstanding defensive player at this point,” Alderson said. “He’s shown improvement at the plate. Frankly, we do expect him to continue to improve.

“Baseball rewards exceptional performance in whatever area, whether it’s power, hitting for average, great defense. He’s shown he can play great defense and still carry a bat sufficiently to stay in the lineup. From that standpoint, he’s moving toward becoming a complete player.”

Alderson said the Mets also are negotiating a long-term deal with first baseman Lucas Duda, who is making $4.2 million this year and can be a free agent after the 2017 season. Duda had a breakout season last year, hitting 30 home runs with 92 RBIs.

“I think there will be resolution by Monday, one way or the other,” Alderson said.