Don't recalculate order when placing order, as this is a post-payment state where the order total should not change.
Allow products to be 0 price.
+ Tidy and testing.