ну к примеру js accorgion в гугле и выбираешь подходящее решение. как пример https://codepen.io/brenden/pen/Kwbpyj
или простой скрипт на js со саней логикой
или комбинация советов
при вводе купона должна отправится форма на скрипт php, который отфильтрует присылаемые данные на зловреды, и сделает запрос в базу по введенным данным, затем отдаст браузеру либо размер скидки, либо иди нафиг, при первом случае он еще передаст скрипту корзины пересчитать цену.
На js там пару строк всего написать, а эффекты уже через CSS