Как сделать промокод для интернет магазина?
Никак. Стоимость доставки в БД является исходной. От неё рассчитывается новая с учётом промокода. Промокод и новая стоимость доставки сохраняются в заказе (или не в заказе).
Магазин пишете сами, как я понимаю, не используя готовые решения?