В момент совершения покупки создайте уникальный идентификатор и включите его в URL.
Затем, когда этот URL-адрес будет посещен, найдите код, посмотрите, когда он был создан и сколько раз его использовали, и либо отправьте содержимое, либо ошибку, соответственно.
Подробнее об этом:
Пользователь заходит на ваш сайт, покупает somecontent.txt и платит свои деньги. Затем вы генерируете случайную строку и даете им ссылку, которая выглядит следующим образом:
www.yoursite.com / скачать? Содержание = somecontent.txt & authKey = fdkjhwsiufhwaoeuhfq
где строка в конце - это та, которую вы сгенерировали и сохранили в БД.
Через некоторое время покупатель использует ссылку. Ваш код тогда идет «Ага! - этот код был создан в результате покупки пользователем контента Фредом. Его платеж получен, и он загружается впервые, поэтому я отправлю ему файл и увеличу счетчик, который записывает, сколько раз этот конкретный пользователь использовал этот конкретный код.
В конце концов, из-за истечения времени или из-за того, что он использовался слишком много раз, ваш код вместо этого развернется и скажет: «Извините, Фред, эта ссылка слишком старая / использовалась слишком много раз» ... например, они могут повторно купить контент, например, в этот момент вы можете создать новый код.