I had the same problem, I quoted the dealer and they said it would cost me about $300. But I replaced mine awhile ago. My key fob would work intermittently. And what worked for me was I would have to smack the key fob a couple times to unlock the doors. I also did a lot of researching on google. Soldering isn't that bad. I'm assuming you also know that you end up destroying your key fob to get to the battery so you will have to get a replacement. I purchased mine on amazon.
When I popped mine open after hacking away carefully with a hack saw blade, I found that the tab on the battery connected to the circuit board was loose. Which explained a lot as to why it would intermittently work. I'm guessing that when the key fob is accidentally dropped so many times it slowly worked itself loose. That's my guess.
So to prevent that from happening in the future I decided to remove the tabs and replace them with a small gauge wire. Not sure what size but it was small enough to fit in the holes on the circuit board. I soldered it on there, let it cool and gave it a tug to make sure it wouldn't pop off. I then soldered the other ends of the wire directly on to the battery. Which I hope will prevent it from coming loose in the future. So far its held up fine and works perfect now.