At least three people were killed when a truck hit pedestrians in central Stockholm before crashing into a department store, public service radio station Ekot has reported.
Several others are believed to have been injured.
Swedish broadcaster SVT reported that shots had been heard in the area, and said people were fleeing the scene.
The main suspect in the Stockholm lorry attack has admitted to carrying out a terror crime, his defence lawyer said.
The Ahlens department store in Stockholm apologised "for a bad decision" in promoting the offer.
The British man who was killed in the Stockholm lorry attack has been named as Chris Bevington.