Don't refund anything to her. If she truly had complaints she would have called you the next day, not wait a week to tell you about all the things that were wrong. It may be that she went way over budget and the cake is the easiest way to get money back. Glad you have a photo of the cake to prove you did all that was asked for.
In the future, if you didn't do so with this cake, I would have a sheet that lists everything the client is wanting on the cake or amounts of items such as cupcakes and designs. This would insure the client gets what was ordered and save you from any future complaints, if any.
Sounds like great advice. I think the fact that she received a large discount on the macarons should have been noted on it, too.