Is CiviCase suited for this scenario?
It wouldn't do this out of the box. You've indicated you don't want to use CiviEvent but if you did then you would be able to do online payments. You could use CiviContribute too for online payments.

Something like Moodle might be a better fit.