spree/spree — comment on commit 08fe792b093f1a72ff40df81a620949c0998ed1b
File: core/app/models/spree/order.rb line 480
By joshnuss:

how about just checking `line_items.empty?` instead of `payment_total`. some seen sites offer a free item for promotional purposes. in that case item_total and payment_total would be zero and the payment_state should not be "balance_due". what do you think?