Вот с этого я и начал))
1. Если выбрана бесплатная доставка, поле промо не активно и недоступно для ввода.
Но остается возможность
Выбрать ☑ другой вид доставки, ввести промо, нажать использовать (суммы пересчитаются) и уже потом выбрать бесплатную доставку
так действуйте от обратного.
1. бесплатная доставка работает от суммы, если так, то до нужной суммы доставка и не будет отображаться
2. промокод доступен для заполнения, все по стандарту
3. если промокод не введен и нужная сумма не выбрана, доставки и так не будет
4. если промокод введен, и предел суммы от которой бесплатная доставка есть, то работает условие проверки ввели ли промокод, если ввели, то доставка не отображается, не ввели, доставка отображается