The only other payment I have taken is a personal check drawn on a bank that has a branch near me. That way, I can go to the bank, cash the check in person, get the cash, and leave. If the check turns out to be bad or stopped, I've already got my money. Don't know if there is a canadian bank with a branch near you in the states though.
Also, the bank usually requires you to show a DL and credit card, but I don't believe that would give them authorization to charge said card if the check bounces. I think once you have the cash, you're good, but if anyone can weigh in on that with specific knowledge, I am all ears. Cash is still king! Better to lose the sale than lose the game AND the cash!