Police in Lumberton said 26-year-old Jarod Denzel Lowery, of Lumberton, turned himself in on Monday afternoon.
According to police, Lowery shot someone he knew in the hip the morning of Black Friday, during an argument inside the Walmart at 5070 Fayetteville Road.
The victim, 25-year-old Ajireh McMillan of Lumberton, was treated at UNC Health Southeastern and later released.
Investigators told ABC11 that surveillance video showed Lowery leaving the store while it was being evacuated after the shooting, and they were unable to locate him to serve warrants related to the shooting, but that changed Monday.
Lowery is facing charges of assault with a deadly weapon with intent to kill inflicting serious injury, discharging a firearm within an enclosure to incite fear and possession of a firearm by a convicted felon.
He was booked into the Robeson County Jail under a $1 million bond.
There were no other reports of injuries to customers or Walmart employees, police said.
Walmart closed for the day after the shooting happened and reopened Saturday morning.