We are currently on M2.
In order for customers to try new products we would like to promote what we call "checkout offers". In theory a particular product for which the customer can only order 1 item. Once the item is in the cart it should no longer be visible.
The 1 qty restriction can be achieved by using the inventory setting "Maximum Qty Allowed in Shopping Cart" and have it set to 1.
However when testing this the "purchase" button remain even though I have 1 item in cart. Which I need to disable in someway. I'm afraid this will be kind of complex with custom code etc. Maybe their are built in support already or some ready made extensions to sort this?
EDIT It actually depend. The promo product will be the same as an "original product" we do have for sale. However for this special price the product should only be available once.
So this could be a scenario:
User A adds product A to cart. When visiting checkout user gets promoted with an offer. Try Product B for only $0.99 User A may only add this product once proceed and pay for everything.
However, if user decided to just purchase Product B they would be asked to pay the full price. So the price of $0.99 is only available at checkout. Hence I'm considering this to be a different SKU.