The 31-year-old had reportedly agreed to a two-year, $5.25 million deal with the Blue Jays late last month, but the player claimed he never approved the contract and fired agents Gregg Clifton and Terry Bross.
Barajas then employed his former agent Dan Lozano, who tried to renegotiate with the Blue Jays, but Toronto instead opted to re-sign catcher Gregg Zaun to a two-year, $7.25 million contract.
Barajas will wind up getting half the money and contract length with the Phillies and may not even be the team's starter, with rookie Carlos Ruiz expected to get a majority of the playing time.
Trachsel joins Orioles
The Phillies also traded 40-year-old Jeff Conine to the Cincinnati Reds for outfielder Javon Moran and minor league infielder Brad Key.
Conine hit .268 with 10 homers and 66 RBI last season, splitting time with Baltimore and Philadelphia after the Phillies acquired him in August.
Barajas hit .256 with 11 home runs and 41 RBIs in 344 at-bats for the Texas Rangers last season. He has a .240 average and 58 homers in his six seasons in the majors with Arizona and Texas.
Brewers sign Suppan in record deal
McCarthy joins White Sox