We bought ours online direct from Disney.
When I asked HoJos they told me honestly that they could not match the Disney rate and I should buy instead from Disney!
We are Australian and so could not access some of the discounts available to locals, but extensive searching found us no better rate than those on the Disney website.
This rate was also cheaper than if we had bought at the gate, so I'd definitely buy before you go.