Как правильно заметил viperet, нельзя делать одноразовую ссылку, а нужно защищать файл.
Если Вы боитесь, что ссылку после покупки зашарят, то не стоит — можно выложить сам скачаный файл.
В Webmoney можно
продавать файлы, есть
сервис по продаже книг.
Ну, а если Вам не нужны наши советы, а и правда нужна одноразовая ссылка, то;
1. При покупке генерируете последовательность символов и записываете себе.
2. Отдаете клиенту ссылку типа
site.ru/download/[RANDOM]/file.zip
3. В .htaccess (если Апач):
RewriteEngine on
RewriteRule ^download/(.+)/file.zip$ /download.php?key=$1 [L]
4. В download.php проверяете $_REQUEST['key'], отдаете файл (лежит вне DocumentRoot), ставите себе флаг, что файл отдан. После этого ключ проверку не проходит, download.php выдает ошибку.