The "going rate" for WAR is something like 7 million/1.0 WAR. That calculation might be a little old now but it would necessitate Harper being a 4+ WAR player in the early years of this contract to justify it. He has hit >4.0 WAR in 3 of his 7 seasons so far. Harper has one ridiculous season in his career and a number of very good seasons but he's way too inconsistent for me. Injuries might explain some of that away but the truly elite guys shouldn't have seasons of 1.1, 1.3 and 1.5 WAR under their belt.
To some extent that reveals some of the problems with WAR though. In those three years you're including a year where he was hurt(although he wasn't playing great) and you're including a very strange situation where Harper's bat produced a lot of value but he had a bizarrely badly rated year in the field.
He's produced at almost exactly a 4 WAR per year rate if you average out his career so I don't think of it as that huge a divide between his value and this deal. If we try to use the NHL as a comparison with McDavid and Kershaw representing the high side of the scale then Harper's per year deal equates to roughly a 9 million NHL deal. For a guy with real MVP potential I think it's a fair deal if too long for my tastes.