There are many aids that can give your horse mixed signals, or you just have a lazy horse. Some horses need to be bugged to canter, like squeeze squeeze kick. If you have a lazy horse, you can use more aid. Shorten your reins, but not telling the horse to stop, lean forward a little. Also, if you're in the transition and he's trotting, stay seated because posting will say you want him to trot.
Hi Emily- I've been there many times before!
If it's a riding school pony a lot of them won't canter even if you're doing everything perfectly...
Maybe try making your schooling sessions more interesting for your horse as then they might be more willing, for example using poles or caveletti
You have to ensure that you are getting the horse moving forward and that the horse is engaging his hind quarters when moving firstly.
The other important thing is getting your horse onto the bit so that he is focused and working.
When the horse is being driven forward together with being on the bit you are containing his energy and when you apply the aids for canter he’ll be more focused and sensitized to what you are asking.
There are many things that also come into play- is your seat correct when doing the transition (seat is one of the major communications to pace, rhythm etc)
Your hand position (not pulling when going into transition)
Body position? (Sometimes people tense up when going into canter) your body must remain supple in order for horse to understand what you are asking of him.
Hope this helps you a tiny bit at least!