Ebay is a good source, just be careful that you are sure of what you are getting.
I always suggest to buy the deluxe lanyard sets from ebay... They sell for around 17 -22 plus usually 5 shipping on ebay, but go for around 50 dollars if you get them from disney. By buying these, they come in original packaging with a lanyard so you almost eliminate your chances of getting fake or low quality pins.