You’ve gotten some great advice, and I’d like to add my reining trainer’s technique, which he begins teaching in the round pen before the first ride.
Longe your horse until he’s tired – not exhausted, but tired – and then say whoa. Drop the pressure.
Do that every time. Wait until the horse is tired and ready to stop before you say whoa, even after you start riding.
My trainer put something close to a reining stop on my 16-hand Appendix 2-year-old with no pressure at all. The horse taught himself to stop.
The trick is never to say whoa until the horse is tired. The second part of it is to never say whoa unless you mean it, and don’t back down from it. “Whoa” means stop with all four feet flat on the ground, not walk for two or three more steps. If that happens, start the horse in work again – at whatever level is appropriate for the age of the horse you’re working with.
Of course, this works best with a lazier horse, but most horses are smart enough to figure out they like whoa more than go.