Welcome to the community
I suggest looking at Points to consider when creating a fungible token (ERC20, ERC777).
If students are purchasing items on chain, you could look at the concepts in https://docs.openzeppelin.com/contracts/2.x/crowdsales.
If students are purchasing physical items (e.g. off chain), then you may want to look at some form of Escrow: https://docs.openzeppelin.com/contracts/3.x/api/payment#escrow. You could also create an NFT as a digital record of the item.
If it is purely payment for digital off chain items, then you may want to look at how a system such as Coinbase Commerce works: https://commerce.coinbase.com/