The victim told police that he and his friend met a man near McDougald Terrace around 9:40 a.m. to buy a game system, and they went with the man to an apartment complex on Lakeland Street.
There, a second man armed with a gun demanded money from them, police said. The victim fought with the second man, and the gun went off, striking him in the leg.
Police found the victim and his friend in a vehicle at Alston Avenue and Dupree Street.
He was treated for non-life-threatening injuries at Duke University Hospital. His identity wasn't released.
No arrests have been made.
Anyone with information on the shooting is asked to call Crime Stoppers at 919-638-1200. Crime Stoppers pays cash rewards for anonymous tips that solve crimes.