I do believe t mobile makes you have had the phone active for 40 days before they will unlock it. Plus you have had to have paid it off or going over seas.
It's not really my phone, its a friend's of mine. She's had her phone for over 3 months, but T-mobile service sucks in the area where we live so she wants to sell her phone and get Verizon, but the person who wants to buy it needs it to be unlocked. Her account is still active and she'll pay off her phone, so T-mobile does unlock phones? I'm sure she would rather go through them that a 3rd party unlocking service.
You could just tell the buyer to unlock it himself and just sell it at a cheaper price. The difference for it to be unlocked, and just show proof that it's fully paid off.