It is perfectly legal to buy a San Pedro cactus in most countries. In the USA, Australia, Canada, Sweden, Germany, New Zealand, and Norway it is legal to cultivate for ornamental purposes but illegal to grow with intent to consume or to prepare a San Pedro cactus for consumption.
If you’re looking for a US based vendor then we would highly recommend Arena Ethnobotanicals. These guys have been in the business a while now and take great pride in both the quality of their products and their service. They are second to none in our eyes!
If you want a UK/European based vendor then we would suggest Everyonedoesit. They are the worlds largest online headshop, with a dizzying array of products, renowned for their speedy service and inclusion of free gifts from time to time! They have very reasonable worldwide shipping rates and will even price match on any product you can find cheaper elsewhere.