I used to work for Verizon in a call center. I would get these calls constantly. We were told to never credit the upgrade or activation fees. However, we could just give a general credit on the account to offset the fee. Then, they implemented a software system that "helped" reps make decisions when a customer is asking for credit. The amount you could offer was based on many factors about the customer, including billing history, how long they've been a customer, how much their bill is, how often they receive credits, etc, etc. If it said you could give them $0 credit, you couldn't issue a credit without a manager approval, and even that was looked down on.
The representative has to meet a lot of matrixes to perform with VZW, and credits are a huge factor in it. These scores on the matrixes affected many things including, the hours you're eligible to "bid" for, the amount of your bonus, the size of your raise, and even to keeping your job. These types of calls put the reps in a bad place because if they don't issue the credit, they risk getting a poor survey score, or the customer to call back and if they do issue the credit they risk having the average credit amount be too much.
I could go on forever but for the TL;DR version: I'm glad I quit Verizon.