Sod the contract and its details. Throw yourself on their mercy. Explain how the bus service is unreliable and you are having to leave 2 hours before work and sometimes it has taken 2½ hours to get home. Tell them the bus fare is taking so much of your pay, what with your outgoings, you can't afford to continue working there. Apologise profusely, say you should never have taken the job, that you're really upset and really sorry, but can you finish the shift you've turned up to do, and then finish. Stick to your guns.
Most managers will think "Bloody students", sigh, say "OK, I'll sort out your pay, but don't bother asking for a reference" and then start contacting the other 499 people who applied for the job.
Suggestion: have you checked if there is a M&S much nearer to home? Once you are working for a company, it is much easier to get a transfer than it is to get in.