I am looking to use a LineItem Script to check if a condition is met then if it is, adds an item to the cart. I am getting stuck at creating a new LineItem instance which I can push to cart. I've tried something along the lines of
new_line_item = LineItem.new(<arguments>)
but I can't find any documentation on what to supply as arguments. I have also looked into the .new() function on Variant and Product classes but I can't figure out the correct arguments to build this object either.
The end goal is to add an item to the cart with a 100% discount without using an app.
*"not the safest" meaning someone who understands Shopify themes might be able to figure out the line item property and they can use JS in the console to add the product to cart and get it free. So you'll have to setup some strict logic rules in your script to only apply the discount in very specific circumstances if you don't want people to potentially abuse the free product logic.
Sam Webb https://samthewebb.com firstname.lastname@example.org
I've just implemented something very similar. You can tag the free gift products and check product tags in Shopify Scripts. I.e.: Only give the discount, if the line item property is set and the tag is set. Then it's safe.