Вопрос в том, как сгенерировать 5000 промокодов?
В том как о них сохранить информацию в системе?
Как давать скидку?
Как дать возможность ввести промокод?
Как запретить ввести несколько промокодов?
Это же верх наглости, простите. Вы спрашиваете то, что даже интуитивно понятно, не говоря, что это есть в документации как для контентщиков, так и для админов.
Что тут сложного?
Зачем мы тут инструкции вам пишем?
Что конкретно у вас не получилось?