Oscommerce 2.3 : Setting up Downloadable Products

Setting up Downloadable Products

Downloads are fairly easy to set up, but the download mod can be a littly quirky on different server setups. The below steps should help you get your downloads working:

  1. Enable downloads Admin –> Configuration –> Downloads –> Enable Downloads = true.
  2. Downloads by Redirect should be on for Unix systems according to the help but in some casess may need to be off. (Test it both ways to see what works for you.)
  3. Whilst you are in this menu you should also set the expiry, no. of downloads, etc.
  4. Set your pub/ directory to chmod 777
  5. Set your download/ directory to chmod 755 or chmod 777. (Sometimes 755 does not work and 777 must be used.)
  6. Create your product for download in the Add Products section of the admin.
  7. Its weight must be 0 or it will not work correctly. this will bypass shipment page
  1. You MUST assign an attribute to your product or the download link won’t appear after checkout.
  2. For the Option name you could use “Version x” and for the Option value you could use “Download: Windows-English”.
  3. Be sure your file (i.e. “myfile.exe”) is in the download/ directory.
  4. In the Admin –> Catalog –> Product Attributes, there is a field that says “Filename” when you are creating a new product attribute. This is where you put “myfile.exe”. (No path information needed). You also specify the number of days the download link is available and the number of downloads allowed.


Go to Admin –> Localization –> Orders Status and change the Downloads Status for Delivered to true by ticking the tick box marked “Allow downloads of virtual products at this order status level”. If you set the allow downloads on other order status then customers could download your product prior to you clearing your payment.

– MUST: Go into your shops admin module >> paymet, set “FreeProductCheckout_1.1” payment module as the first payment method at “Sort order of display”. Make it 0 and the other payment method(s) higher.

– Open your oSC file “catalog/checkout_payment.php”

– just before:

// BOF skip if only 1 payment method available. IF YOU HAVE 2 PAYMENT METHODS then “set tep_count_payment_modules() == 2”
if (tep_count_payment_modules() == 1 ) {
$payment_select = $payment_modules->selection();
$payment = $payment_select[0][‘id’];
if (!tep_session_is_registered(‘payment’)) tep_session_register(‘payment’);
tep_redirect(tep_href_link(FILENAME_CHECKOUT_CONFIRMATION, ”, ‘SSL’));
// EOF

Please check too :



Since 30 years I work on Database Architecture and data migration protocols. I am also a consultant in Web content management solutions and medias protecting solutions. I am experienced web-developer with over 10 years developing PHP/MySQL, C#, VB.Net applications ranging from simple web sites to extensive web-based business applications. Besides my work, I like to work freelance only on some wordpress projects because it is relaxing and delightful CMS for me. When not working, I like to dance salsa and swing and to have fun with my little family.

You may also like...