My approach should work for you , but you need to add little more functionalities.
Add 2 new columns in order item table, one with a guid and one field with expiry date, so your download link should take the user to a download.aspx (or some aspx) page with a querystring, validate the querystring with the new columns in the the Order table and it is valid open the real file?