Digital/Downloadable Product Handling

This tutorial builds upon Managing Products but explains downloadable products specifically.

Setup and Configuration ↑ Back to top

  1. Go to: WooCommerce > Settings >Products > Downloadable Products.
  2. Select a File Download Method.Downloadable Product Options
    • Redirect only – When users download a file, their link redirects to the file.
    • Force Downloads – File downloads are forced, using PHP. To ensure files are protected from direct linking, Force Downloads can be used. Files are served by PHP. However, if your files are large, or the server is underpowered, you may experience timeouts during download. In this case, you need to either look at your server or use the redirect method.
    • X-Accel-Redirect/X-Sendfile – Downloads are handled by the server (nginx/apache). This method requires the X-Accel-Redirect/X-Sendfile module be installed and enabled on the server. Confirm with your web host that one of these modules is installed before using this method. It’s the most reliable method because the file is served directly to the customer and gives you the best performance. Files are also protected by an .htaccess file, making it secure.
  3. Select a level of Access Restriction. Tick the Downloads Require Login checkbox if you want users to be logged in to download files. Guest checkout would need to be disabled.
  4. Tick the Grant access to downloadable products after payment checkbox if you wish to grant access to files when orders are Processing, instead of Completed.
  5. Save changes.

Creating downloadable products ↑ Back to top

Downloadable Simple Products ↑ Back to top

To get started:

  1. Go to: WooCommerce > Products > Add Product to add a new Simple product as outlined in Adding and Managing Products.
  2. Tick the Downloadable checkbox.

Creating A Digital Download ProductAfter ticking this box, other options appear: Downloadable Files, Download Limit, Download Expiry, Download Type.Digital Product File

WooCommerce supports multiple files per product!

3. Upload a file and click Insert to set up each downloadable file URL. Match the URL of the product to the URL of your site. (i.e., if you have a www in your site URL, then make sure that is in the file URL.)
– In version 2.0+, enter one per line
– In prior versions, only one file was allowed per product. Multiple files required packaging in a ‘zip’ file.

4. Enter the Download Limit (optional). Once a user hits this limit, they can no longer download the file.

5. Enter the Download Expiry. If you define a number of days, download links expire after that.

6. Select the Download Type from the dropdown.

7. Save.

Downloadable Variations ↑ Back to top

Variable products can also have downloadable variations. When adding a variation tick the Downloadable checkbox and more options appear.

Variation Downloads

Options work the same as regular products: Set the file path, optionally choose a download limit and expiry, and save.

Combining downloadable and virtual products

If you tick the Downloadable checkboxes, products can have stock and are treated as physical products. This allows you to sell downloads and real products together.

If you want to add/sell a downloadable product that is not physical, also enable the Virtual option.

Usage ↑ Back to top

The ordering process for downloadable products is:

  1. User adds product to their cart.
  2. Users checks out and pays.
  3. After payment, several things can happen depending on your setup:
    • If items in the order are all downloadable + virtual, the order is complete.
    • If items are physical and downloadable/virtual, the order is processing until you change it.
  4. Once complete, or if the option “Grant access to downloadable products after payment” is enabled, the user can:
    • Be granted download permission
    • See download links on the order received page
    • See download links in their email notification
    • See download links on their ‘My Account’ page if logged in

Users can then download files.

Managing orders with downloadable line items ↑ Back to top

If you edit/view an order with downloadable products, the downloadable products meta box contains user permissions:

Manually Add Digital Download

By editing this panel, you can modify a user’s permissions or revoke access to files. You can also grant access to new downloads.

FAQ ↑ Back to top

What happens if I edit a downloadable product’s files after customers have purchased? ↑ Back to top

If you’re using WooCommerce 2.6.x and below, and you edit or add a new download to a file, past orders are granted permission to the download and the expiry date and downloads remaining are reset (since they are technically new files).

If you’re using WooCommerce 3.0:

  • Editing a download file row (changing the name, file URL or both) updates the download links on past purchases, but it leaves the expiry date and downloads remaining in tact.
  • Adding a new download does not affect past orders. Only new purchasers gain permission to download it.

If you have products that grant ‘lifetime access’ or similar to all downloads added to a product, a subscription or membership may be more appropriate. You can also combine files into a single archive (zip). If you want to restore previous functionality, there is a plugin available here.

Why does WooCommerce link to the URL of the file? ↑ Back to top

When setting up your downloadable product, ensure that the downloadable file settings use the same URL formatting that your site does. Make sure that it matches the site URL in your WordPress settings. (i.e. if www is in your site URL, it needs to be in the file URL).

Why don’t I see a file link on the order received page? ↑ Back to top

If you are using PayPal, there is a delay when using the IPN to track payments. You can instead enable Payment Data Transfer (PDT) by going to gateway settings and selecting it as the PayPal Identity Token.

Payment Data Transfer (PDT) is a notification service that, once activated, can send transaction-related information immediately to merchants who are using PayPal payment buttons (PayPal Payments Standard). Merchants can display these transaction details on their website to confirm the buyer’s payment was successful.

You can enable PDT in your PayPal account under Profile > Profile and Settings > My Selling Tools > Website Preferences.

Enable auto return, and enter the return URL as http://yoursite.com/checkout/order-received/ (replacing yoursite.com with your site’s address), then enable PDT. Copy your identity token to your settings under WooCommerce > Settings > Checkout > Paypal. This will allow payments to be verified without the need for PayPal IPN.

Do old orders get access to new downloads after a product is edited? ↑ Back to top

No, this feature was removed in WooCommerce 3.0.

Can I use cloud storage to store my files and downloads? ↑ Back to top

Most definitely! WooCommerce only needs an external URL that points to your digital download file. If it is a valid external download URL, then WooCommerce works perfectly. There is no further validation.

How do I create an album of song downloads to sell music? ↑ Back to top

It’s possible to do this with Product Bundles (separate purchase). A use case at Create Downloadable Item Packages shows you how.

What file extensions can I use? ↑ Back to top

WooCommerce allows for  the same file extensions defined by WordPress. You can see the full list via WordPress Codex: Uploading Files.

↑ Back to top

WooCommerce - the most customizable eCommerce platform for building your online business.

Back to the top