Hi,
You can override a lot of things in HikaShop and you can do much more thanks plugins.
For example, there is a trigger called "onBeforeDownloadFile" which took three parameters : &$filename, &$do, &$file.
First is the filename of what the customer wants to download (could be a relative path, a url or a string which begins with an @).
Second is a boolean value. If false, the download process would be canceled.
The last one is an object, the object is mainly the result of a database request on the table "file".
In the latest version of HikaShop (2.0, still in beta for the moment), you would have access to more data, like the "order_id".
So you would be able to create an HikaShop plugin which would contains this function (this trigger) and thanks to it, you could dynamically change the filename of the file that HikaShop would send to the user.
Thanks to the order_id and the product_id, you would be able to retrieve all you needs (Using orderClass::loadFullOrder for example).
Best regards,