Managing E-products

The E-product representation is designed for various electronic files that your customers can download after the purchase. Specifically, you can use this product representation for software installation files, audio files, videos, e-books, etc.

Defining e-products

If you are adding a new product or editing an existing one (on the General tab), you need to select E-product as the value of the product’s Representing property. After doing so, the system displays the E-product section, allowing you to enter properties specific for the E-product representation.


Files validity

Indicates how long your customers can download the file(s) after the purchase.

You can set the validity either for a limited period (Days, Weeks, Months, Years, Until a given date) or for an unlimited period. To set e-product validity for an unlimited period of time, select Until and leave the text box below empty.


Here you can upload file(s) that will make up the e-product.

After uploading a file (by clicking New attachment and opening the required file), the system displays the name and size of the file, and allows you to perform the following actions:

  • Edit () – if the file is an image, clicking the icon opens the image in the built-in Image editor; see Editing images. If the file is not an image, clicking the icon opens the file in the built-in Metadata editor; see Editing file metadata.
  • Delete () – removes the attached file from the e-product.
  • Other actions () – allows you to Clone the attached file.
  • Update () – allows you to replace the attached file with a different file.

You can upload only files with allowed extensions, as defined in the Upload extensions property in Settings -> System -> Files -> Security.

Defining e-product properties

From the customer point of view, the system allows purchasing of e-products the same way as products of other representations.

The customers can download e-product files only if the respective orders are marked as paid.

You can configure the system to automatically mark orders as paid when the orders are moved to a selected order status, i.e. the status has the Mark order as paid property enabled.

You can also mark selected orders as paid manually by enabling the Order is paid property for these orders. See Orders for more details.

Marking orders for e-products as paid, both automatically and manually, results in creating new download links for the corresponding e-product files, with their validity set as of the time of marking.

If orders for e-products already marked as paid are unmarked, download links related to these e-products are removed. This means that the customers cannot download the corresponding e-product files.

Downloading e-product files

Once the download links are active (i.e. when the order is marked as paid), customers can get to the links in email notifications based on the E-commerce - Order payment notification to customer email template, after their orders are paid.

The email template must contain the GetEproductUrl macro method, which ensures that download links to corresponding e-product files are included in the emails (if any).

Notifying about e-product expiration

If an e-product download link is close to its expiration, the system can send the customer an automatic notification email. You can specify how many days prior to expiration the system sends the notification by entering the Send e-products reminder (days) setting’s value in Settings -> E-commerce.

The E-product reminder scheduled task (available in the Scheduled tasks application) monitors upcoming expirations. The task is defined globally by default, which means that it monitors upcoming expirations of e-products purchased on all sites running in the system.

You can set the scheduled task to monitor e-product expirations only on selected sites by configuring a separate monitoring task for each site.

The content of the notification emails is based on the E-commerce - E-product expiration notification email template (available in the Email templates application). The template is defined globally by default, but you can create site-specific templates with the same code names. The system then uses these templates for all e-product expiration notification emails on the respective sites. See Scheduling tasks for detailed information.