A source with knowledge of the details confirmed the deal to ESPN's Jayson Stark.
The contract will reportedly pay Ruiz $8.5 million in each of the next three seasons with a 2017 option for $4.5 million or a $500,000 buyout.
FoxSports.com reported the contract earlier Monday.
Ruiz has a limited no-trade clause. He can block trades to four teams through the life of the deal, Stark reported.
But if he remains with the Phillies, he would become a 10/5 man with the ability to veto all trades in July 2016, according to Stark's report.
Ruiz was also being pursued hard by the Boston Red Sox but chose to go back to Philadelphia after the Phillies agreed to guarantee three years instead of offering two years with a vesting option for a third year.