Well, actually after all the grumbling I managed to get it to work. I followed this thread:
There are several steps followed by different people in that thread, I tried a few things and I’ll just tell you what finally worked for me:
- Created a directory right from my root Magento folder, called it “downloads” but the name doesn’t matter. I have kept all folder and filenames lowercase and no spaces because apparently it’s important.
- Zipped the mp3 file: it was 32 MB, my PHP server limits are 20MB so I uploaded it to the folder via FTP.
- Inside the folder I put an .htaccess file containing just:
Allow from all
- I then changed the “downloads” directory permissions to 777 with the CHMOD command (I’m on Linux server, you can’t do this on Windows server). This is probably a major security issue but what the hell, I’m a trusting sort of guy.
- I re-entered the URL in the downloadable product configuration, with the full HTTP address. Saved obviously.
- Set “Order Item Status to Enable Downloads” to “Pending” in System - Configuration - Catalog - Downloadable Product Options. In here I also changed the maximum number of downloads from 0 to 10000 and made the products shareable, these steps shouldn’t be necessary but that’s what I did.
- I disallowed Guest Checkout in System - Configuration - Checkout - Allow Guest Checkout. This forces buyers to create an account because Magento needs you to be logged in to download products.
- Tested the system with Paypal Sandbox (Payments Standard which will be the only payment I will accept).
I was jumping up and down when the link finally worked. It took so much time and caused so much frustration, I wish the Magento team would post some instructions on their knowledgebase to help people with this issue.
This worked for me but then this is Magento we are talking about, so chances are it won’t work for everybody. It’s trial and error basically - not how I would choose to spend my time to be honest.