The officer, about 60-years-old, was released from the hospital sometime after 7 p.m., according to Tom Ahern of the Chicago Police Department.
Ahern also said the officer stopped by the 18th District police station on his way home still dressed in his hospital gown.
The officer was responding to a call of an altercation between a security guard and an alleged offender at an Ulta Beauty about 3:30 p.m. in the 1000 block of West North Avenue, Chicago police Supt. David Brown said.
Someone inside the store was behaving "erratically" and officers who were patrolling the area nearby were called to the scene, Brown said. There was a struggle — that continued into the parking lot — where the person fired three shots towards the officer, striking him once in the face.
The officer was transported to Illinois Masonic Medical Center with injuries that were not considered life-threatening, and the gunman was taken into custody, Brown said.
The shooter was inside the store with another person but that person is not in custody.
No officers returned fire, according to Brown.
Brown said officers have been conducting extra patrols in the area in response to some incidents of robbery, and were, therefore, able to respond very quickly to the scene.
Police have not released any additional details on the officer as they are still working to contact the family.
No further information was immediately available.
Sun-Times Media Wire contributed to this report.