Buy-on refers to the practice of a musician paying a fee in exchange for being the opening band on a tour. Buy-ons are often used to give an up and coming act a chance to play in front of a large audience.
Buy-ons are most common for large, arena/stadium kinds of tours and are very rarely used in indie music. It is important not to confuse the idea of a buy-on with being charged a fee for playing a show. With a buy-on, you're essentially buying an audience - you're not paying for promotion. Being asked to pay a promoter a fee for them to put on a show for you in a club is a different practice and is frowned up. Further, a buy-on should always involve a contract.