Привет. А подскажите, есть ли какой подход/паттерн для случаев, когда у нас полная оплата заказа растянута по времени и нам надо обеспечить на это время запрет пользователю воспользоваться скидкой второй раз. В двух словах: пользователь применяет скидку и может после этого оплатить заказ (все как обычно: перешел на чекаут, оплатил, мы получили вебхук) по выгодной цене, однако он же может и не оплатить заказ (уйти с чекаута), или вебхук может доставляться дольше обычного, а на это время (неопределенное, но конечное) нам надо убедиться, что пользователь еще находится на стадии процессинга (находится на чекауте/ждем вебхук) и не разрешать воспользоваться скидкой. Но это не может длиться вечно и когда-то нам надо понять, что юзер в итоге заказ не оплатил и скидку ему можно снова разблокировать. Тут еще штука в том, что он заказ может оплатить, вебхук может прийти, но мы пойдем во внешнюю систему кое-что активировать (как раз система и предоставляет скидку), а общение с ней происходит через очередь, где обычно много сообщений, т.е. есть задержка в минуту-две. Мьютексы не подходят, проверять ордеры по времени тоже не хочется, отмечать в бд/кэше тоже не оч. Ну и саги тоже не про это. Что еще можно рассмотреть?