1) Как написали в первом комментарии: делать операции в транзакциях, вести логи транзакций.
2) Двойная запись (
https://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%BE%D..., вот лекция с описанием
https://vimeo.com/117154510.
3) У денежных систем (Paypal и т.п.) бывают разные способы ответа вашем сайту о том, что пользователь действительно оплатитил счет, так вот, никогда не нужно использовать систему, когда подтверждением является редирект пользователя на страницу вашего сайта с хешом операции. Ваш сайт должен отправлять запрос на проверку операции независимо от пользователя.
4) Ведение логов действий пользователей (когда вы видите, что по логам пользователь 5 раз пополнил баланс на общую сумму 2000 рублей, а на реальный счет вам пришло 400 рублей, то это повод бить тревогу).
5) Бекапы