I know that you can call the Disney Reservation Line to order a cake. Sometimes they will connect you directly with the restaurant. The only problem is that you tend to be on hold for a very long time. If you are going to be in Epcot a day or two before you need the cake, I would just stop by and ask for a manager. I asked about a birthday cake for my Dad at the hostess stand at the Rose and Crowne and a manager came right down and took care of everything. He gave me a choice of flavors and fillings and personalized it. I preferred this because there was no third party involved (and he was really helpful). They did not make us pay up front, but just gave us a bill when we got there. A small cake was $25 and the large was something like $40 or $45. They are very rich, so a small wound up working just fine for our large group. Just make sure that you tell your server that you have a cake waiting for you when you arrive for dinner.
P.S. If you are on the Dining Plan, don't forget that you get a dessert anyway. (But the cake costs extra regardless.) My sister -in-law was smart and ordered a dessert that was appropriate for breakfast and had them wrap it up. No trip to the cafeteria for her in the morning!
I wish that I had thought of that!
(As for ordering a cake for your hotel, I would just call the hotels main #)