Cdodge/shopping cart rewrite

@chrisndodge @jbau yes we have added this in a PR. When the order_item is a donation one, there are some instructions that they want to show in the receipt page, so we have added a check to handle that scenario. @chrisndodge is right we did this, when we rebased this branch with the master.