В сети есть масса инструкций, как сделать одноразовые промокоды в Рознице 2.3. Но если у нас есть партнёр, от которого будут приходить люди с одним и тем же промокодом, а обновиться до 3.0 ну никак нельзя... то можно просто восстанавливать доступность выбранных промокодов. Да, каждую секунду. Да, если у вас продажи чаще раза в секунду и партнёр тааакой популяяярный, что от него будут приходить ежесекундно - это не сработает.
Но давайте договоримся: это всё равно паллиатив. Обновляйтесь, и будет вам счастье (или нет). А не можете, но очень надо - держите обработку, которая каждую секунду (ну или как настроите, всё в ваших руках) проверяет: код из списка, который вы ввели, уже потратили? Да? И его по условиям (периода и скидки) ещё можно использовать на сейчас? Ок, забиваем свежую строчку, что его опять можно брать, секундой позже. Больше ничего она не делает.
Код открыт.
Будут желающие - выложу и обработку проверки, что владелец этой дисконтной карты такую скидку ещё не получал.
Проверено на следующих конфигурациях и релизах:
- Розница, редакция 2.3, релизы 2.3.18.13