The 30-year-old was shot in the upper body around 7am and died at Union Station in Dinwiddie, Warrant Officer Andre de Jager said.
The man allegedly got into a fight with one of the security officers after being escorted out of a train.
“It is alleged that Transnet security officers searched and escorted out commuters who did not have valid train tickets,” De Jager said.
“They were then forced to stand and were instructed to wait at a certain spot of the station.”
De Jager said in the process, the commuters claimed the officers had assaulted them.
“One of the commuters allegedly fought back. A security guard drew his firearm and fired a shot.”
He was expected to appear in the Germiston Magistrate Court within 48 hours on a murder charge, said De Jager.