I'd suggest all profits going to charity rather than a set 50% - if at the start your costs per bar are $2.20, you're giving $0.20 to charity yourself for every bar sold. When you are selling so many that you're buying in bulk, your costs go down to $1.50 and you're making $0.50 even after giving the $2 to the charity.
I do love the idea that they can choose from a range of charities. In a certain supermarket in the UK they give you a token when you spend a certain amount and there are a number of different boxes that you can put it in to, each one for a different charity. The supermarket then donates accordingly.