The reason he had to void your online one and charge you again is because the online one probably included a delivery charge so there was probably a price difference or something. Sucks that you got charged twice though. You probably should have asked him if he was charging you again though. That would've been the first thing I did.
