I either collect at time of service (cash, check, or swipe their card on my smart phone) or charge their credit/debit card when I am done for the day if they choose automatic payment. If they don't want to provide their cc info (I make them sign a credit card authorization form) for automatic billing, then they can leave a check under the mat if they aren't going to be home.
Screw waiting 30-45 days to get paid. If they don't want to do that, then someone else can mow their lawn. Like others have said, when you get a hair cut they don't send you a bill at the end of the month. Why should I be any different. Then if they don't pay or their card is declined after a single mowing, then service stops until it's paid. I would much rather just eat one mowing and move on, then have to deal with sending out multiple invoices, trying to call them or track them down or worse yet small claims court to get paid for several mowings. My time is more valuable then that.