I will shortly be creating my WordPress website in which I will be selling a software product. Ideally, I would want two things to happen :

1) When a customer makes a payment(through PayPal account or PayPal credit card processing I suppose), they should be redirected to the download page to immediately download the software.

2) Since software tends to be updated into new versions quite a lot, I would really like to have a flexible way to allow customers to re-download the software using a well secure, secret uri, probably created with a token and based on some passwords.

Hence, I would like to ask you how you would suggest I should handle that. I know that there are some WordPress plugins that would allow me to do (1), but i would really like to know your experience and if you use one, which plugin do you suggest?

For (2), I don't really have any ideas yet? Is there a plugin or other solution ? Has anyone has done it?

  • Is the software WP-related? A plugin or a theme? Sep 2 '11 at 9:24
  • it is wp related, a theme actually, but i would just like to make it downloadable, say as a zip file.
    – SpyrosP
    Sep 2 '11 at 9:45

I think you need the Wordpress Eommerce plugin. It's free if you use the standard gateways, and then $40 for the additional payment gateways ("gold cart").


Customers will be able to purchase your item, and then download it immediately. They can have an e-mail with the link to the download as well, and there is an option to allow downloads for digital content after the customer pays, and you can specify options such as how many times they are allowed to download the content (it tracks this to help prevent link sharing).

If you set a reasonable number of times they can download the software, or just make the link good for unlimited downloads and keep an eye on the download counts, you could updated the linked digital content and thus allow customers to pay for your digital content, and then download updated versions.


WP e-Commerce is a good choice (e.x. http://icondock.com/) but I would also recommend using Jigoshop. It has all the features for downloading files for free and it is clean and powerful e-shop plugin. Both are easily to set up and manage.

If you are willing to pay for the solution take a look at http://cart66.com/ From my point of view it is worth the money (premium support and lot of extra cool features). You can download the "Lite" version for free http://wordpress.org/extend/plugins/cart66-lite/

  1. Put the theme ZIP files inside a directory outside the web root, like dirname(ABSPATH).'/protected_files/'
  2. Create a simple download manager:


       // authenticate user/pw if needed (redirect to this page again after)
         // set the appropriate content type (application/zip I guess)
         // and output the file using readfile()
  3. Handle update requests:

      // send new update info if your version is greater
      // like URL to the file, version etc.
      if(version_compare($client_version, $your_version, '<')) echo $update_info;
  4. Send update requests (from the theme - the software):

    Either create your own upgrade functions, or let WP do that. If you choose the 2nd method you only need to hook into pre_set_site_transient_update_themes, see this page for an example.

I did something like this using the transient method on my site (auto-upgrades), but haven't implemented an authentication system yet.

For (1) - the payment system, use the Paypal IPN/API to auto-create or update the user info. Add a "can_download_protected_themes" role or something, on successful payment (check for this role in your download manager)...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.