An agent, like ctrip, needs passport numbers only. The agent doesn't get you the actual physical ticket, but a confirmation code you exchange for the ticket at the station by showing your passport.
If you buy your ticket ahead of time at one of the small city ticket offices, you need to show your passport and you get your actual ticket then and there.