Inspect the selected variation, not just the parent product. A purchasable WooCommerce variation needs the appropriate enabled state and a price. The customer must select required attributes, and the combination must match an available variation. 1
Compare one working and one failing selection
Record the exact size, color or other attribute combination. Open that variation in the product editor and check whether it is enabled, priced and available under its stock and backorder settings.
For example, “blue, medium” and “blue, large” do not necessarily share price or inventory. One being purchasable says little about the other. Do not enable backorders merely to hide an error when you cannot fulfill the product.
Separate product data from interface behavior
If the configuration is correct, test without an additional swatch or variation-button extension on a staging copy. Avoid disabling several production plugins at once.
After a fix, add the product to the cart and confirm its variation, price and quantity. If the failure starts only in cart or checkout, investigate that implementation’s compatibility separately. 2
A useful report identifies the selection and the stage where the purchase stops. “The product is broken” combines several different problems into one sentence and makes an otherwise small correction much harder to locate.
Related reading
Web development and integrations