И если оплачен заказ деньгами и бонусами, сработает корректно?
Вообще-то мало информации. Проверку, о которой пишет Денис, можно и нужно сделать через проверку заказа по отдельному платежу (бонусному списанию) как таковому. Опять же, основной вопрос как именно функционирует бонусная программа.
Потому что если допустить, что может быть ситуация, что вы начислили 300 со сроком неделя, а до этого у пользователя на счете уже лежало 300 со сроком две недели, которые вот вот сгорят, и был заказ на -300бр, то не ясно какие на самом деле он тратит - старые или новые (если предположить, что срок сгорания +- одинаковый по конечной дате).