Логика вычисления стоимости заказа

Мне кажется, что в этом коде затаилась проблема. Способы доставки и оплаты вычисляют надбавку (больше это относится к процентным ставкам) на базе суммы заказа. Если передавать 0 в качестве начальной суммы, то сумма заказа с оплатой и доставкой не будет равна сумме корзины + сумма оплаты и доставки.