It happened around 11 p.m. outside of Princess Market on the 1100 block of Hook Road in Sharon Hill.
Police said the gunman called 911 himself to report the shooting.
Regular customer Ryheem Cole of Sharon Hill wasn't surprised.
"They always shooting around here. They always shooting around. They need to stop," Cole said.
Police say a physical altercation between two men in their early twenties escalated to the shooting in the parking lot outside the market.
Darby Township Police Chief Mike Sousa explained, "One of the males brandished the firearm during the altercation and fired one round, striking the victim."
According to police, both men were licensed to carry, and both men had firearms in their possession.
Police do not know what prompted the altercation.
Police first heard about the shooting around midnight when the man who was shot flagged down an officer. The officer rendered aid and took the shooting victim to the hospital, where he was listed in stable condition.
The shooter called police himself.
"He fled from the scene and went to his house and dialed 911 to report that he was the actual shooter," Chief Sousa said. "That's the first time for me in 15 years of police work that the shooter calls 911, so we're trying to figure out exactly what his motives were."
Chief Sousa told Action News that it's unclear whether the men knew each other or whether this was some sort of retaliation.
Investigators are speaking with both men as the investigation continues.