Some sites use the prase “buy on example.com” when they link to products using some affiliate program. For me “buy from example.com” sounds better since you’re going to follow that link to example.com and buy the product from them.
What would be the reason to use on?
On specifies the location, while from specifies who the seller was.
You can buy a product on the street or on my site. You can buy a product from me or from Amazon.