Our childcare and tuition (preschool) was always due up front. But we paid 1 month in advance. Or in my case, 3 months in advance (since I paid quarterly when my financial aid check came it), but in order to hold your child's spot, payments were due on the 1st of the month.
Now that my 9yo son is school aged (we also homeschool), we HAVE to pay 3 months in advance for childcare. (We use the afterschool program at the local YMCA for childcare while I'm at school... $1675 for 12 weeks of 2.5 hours of care a day).
For all my son's camps (we do school break camps for drama, art, science, gymnastics, all sorts of stuff) we pay ahead of time. $100 a day for single day camps is the norm, due at registration OR $250 a week for half day camps, also due at registration.
For all my son's outisde classes... we ALSO pay ahead of time.
Sometimes programs let you "hold" a spot for $50 or $100... but there's always full payment necessary by x date. Usually a week before the class or camp or program starts (to let waitlist kids know ahead of time if there's a spot), but it's always non-refundable. I rather like the idea. It lets the program know you're serious, but if you're having money worries, and you end up needing to pull out you're not out the full amount. Many of the programs will "hold" your deposit if you let them know in advance and you can use it towards another program. Others it's pure and simple 'good faith' money, and if you don't pay the full amount by the deadline, you're just out the money. I like both options, frankly.
It would never occur to me to not be running my card or writing a check at registration for any kind of child care related business.