if you want something that is already developed, you could use Power Store
Or you could create this yourself using eCart, with Security Assist, and Universal Email (which includes the file manipulation -> Download file behavior)
the eCart support landing page has tutorials for adding login to the checkout, creating an order history page, and creating a download center.