Your daughter's not in charge is she? If it were me, I'd say "Honey. These things cost lots of money. We already paid $300 for the ice place. They won't give us our money back. We do not have another $300 for anything else, period. You can either have the party at the ice place or have no party at all. It's up to you, because we've used all of our birthday party money already. Your friend can go to the ice place, watch y'all skate, eat cake, open presents with you, etc"
If the bff really can't even go into the skate place, then how about she have a special sleepover that night or the night before?
You say she'll be devastated, but likely, when she's our age, she wont even remember the name of that friend. I think it's a better to NOT let your 8 year old daughter tell you what you have to do thru guilt trips or whatever.