You should be able to use eCart for this. I would not suggest using PayPal Payments Standard though, it would be better to offer PayPals Express Checkout rather than the Payments Standard. The Express Checkout provided a better user experience and is easier to implement in my experience.
How exactly you handle this will depend on the exact requirements that you have for obtaining the deposit and then charging a further amount later. The most simply way to do this would be to sell the cakes as $50 items, then have another column in the cart to hold the difference in price from the total. This way you will be able to store the order in your db and lookup up the amount that is left to be charged for the cake.
If you are not familiar with eCart you should take a look at the getting started guide that is available on the eCart support page. It has a lot of useful info on making use of eCart.