Then make those free. We can't stand behind other poor implementations as an excuse to avoid appropriate levels of public service. What I'm trying to project is there's no reason to cast this as "people don't want poors riding trains."
Of course people want this. It's absurd to suggest otherwise. Solve actual problems and stop giving contracts to people who abuse the public trust and effectively siphon tax money away from people who need it the most.
The level of argumentation here is bizzare. We can't use IDs because of privacy but we will give them unique smart cards? We can't let them use IDs because those cost money for historical reasons but we will pay a third party for a single use smart card?
This is why people don't engage with public service. It's absolutely punishing for no appreciable reason.