I feel like the high school years were the worst for kids needing cash for this or that. Lunch on a field trip. Money for the school t-shirt. Money for snacks at the game after school. Today it was cash for the ticket to prom. Sometimes a card will work, but it's always hard to know for sure in advance. I feel bled dry sometimes, but I can't imagine not having cash to put in their hands when they need it.
Our school will accept checks as well as many things can be paid online (field trips, lunch money, yearbook)