Как избежать двойной оплаты при прерванном запросе и повторном выполнении

C#архитектура приложенийдвойная оплатаобработка запросовпроектирование систем