I'd go with Apple. They have been more lenient in the past with restocking fees and are much faster at completing your transaction. Unfortunately Apple has less access to ATT system and are therefore less capable of addressing complex problems. When my wife got her 3GS last year from Apple, they were not able to port her old number from Verizon to my account and we had to go to ATT at the other side of the mall in order to complete the activation. It took over an hour for ATT to fix the issue (45 mins of that was waiting for a rep). The experience at ATT was less pleasant and they were constantly pushing accessories while we were there.