I agree with Peachey. Native speakers don't say "hafta," or "hasta," or "gotta." We say "have to," "has to," and "got to" really, really quickly and don't enunciate our words so they sound like that. The only time I would ever write "hafta" is if I were directly quoting someone and I was trying to emphasize that the speaker was mumbling or slurring their words. If I didn't want to point out something very specific in the a person's manner of speaking, I would still write "have to."
You should recognize that people sound like that at times and understand what they mean, but don't use those "words."