Допустим, есть пользователь, который ввел денежные средства на сайт. И есть другой пользователь, который получить эти деньги после выполнения определенных действий. Как можно такое реализовать, т.е. нужно какое-то безопасное резервирование средств. Можно сервис.
Я бы делал так.
Есть таблица средств пользователей, user_funds(user_id, money, reserved) - деньги и зарезервированная сумма для каждого пользователя.
Еще надо хранить, на что именно зарезервированны деньги user_reserve(user_id, object_id, money) - кто, за что и сколько положил в резерв.
При оплате со счета пользователя проверять, что сумма оплаты больше разности money - reserved, с учетом того, что часть средств может быть зарезервирована для данной операции, и работать с помощью select for update. По простому сделать constraint на то что money - reserved >= оплата не получится.
Стоит сделать ограничение, что разность money - reserved >= 0.
Все операции с этими таблицами оборачивать транзакции, чтобы или они все выполнились, или же все не выполнились. То есть списывание со счета, начисление, резервирование и снятие резерва, оплата с исполнением резерва и т.д. должны быть в транзакции.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Необходимо сравнить текущие время с заданным, если текущие время больше заданного хотя бы больше на 30 минут, то вывести фразуУ меня выводит...
Есть 2 проекта расположеных на одном домене, но на разных поддоменахНапример foo