CCTV from the incident appears to show the police officer walk into Star Spirits and Beverages in Decatur, north Alabama, and strike Kevin Penn, 47, in the face as he loaded a gun at the counter.
Mr Penn seems to be saying something in the moments before he gets hit, but the clip does not have any audio.
He is then dragged to the floor and restrained by three police officers.
Mr Penn had called 911 and said he was holding the suspected robber at gunpoint, but police allegedly got him and the suspect mixed up, the Daily Star reports.
In response to the incident, which happened on March 15, Decatur Police Department showed bodycam footage at a press conference which shows Mr Penn and the officers arguing before he is punched.
In the bodycam video, an officer demands that Mr Penn put down his gun, but he refuses.
“My gun is there, my gun is here, I’m not going to put my gun down if you got guns,” he says.
The officer again tells Mr Penn to put the gun down, to which he replies he has “a right to have my gun”.
Slowed-down and edited bodycam footage shows the moment Mr Penn is hit in the face but it does not show what happened immediately afterwards when he was dragged to the ground.
Mr Penn, who is to sue the police department, said he suffered a broken jaw, lost two teeth and required his jaw to be wired together for two months of treatment.
Decatur police chief Nate Allen said at a news conference that the investigation was ongoing and that the police officers involved were still employed, with the one who threw the punch confined to a desk job.
“We wanted to show that because one thing I strive to do is build relationships with this community,” Allen said.
“We need to be very transparent; we need to be very open. But most of all, we need our citizens to respect the police department and we need the police department to respect the citizens.”
The footage has been released in the wake of the global protests over the death of George Floyd in police custody.