Member Only Pricing
Shopify Plus Only
This is an advanced guide.
Only one line item script can be active at a time. If you already have a line item script running and you want to run this script in tandem, this will not work. You'll need to customize the scripts to work together.
MESSAGE
-{string}
A message that will be displayed on every discounted product in checkout.DISCOUNT_PERCENTAGE
-{number}
The percentage amount each line item will be discounted.PRODUCT_ID_LIST
-{array[number]}
An array of product IDs for products that should be discounted. If left empty discount will apply to all products.
# Editable Values
MESSAGE = 'Member only pricing!'
DISCOUNT_PERCENTAGE = XX
PRODUCT_ID_LIST = []
########
# DO NOT EDIT PAST THIS POINT
########
class MemberOnlyPricing
def initialize()
@message = MESSAGE
@percentage_off = (100 - DISCOUNT_PERCENTAGE) * 0.01
@product_id_list = PRODUCT_ID_LIST
end
def run(cart)
@cart = cart
start
end
private
def start
return unless @cart.customer
return unless @cart.customer.tags.include? "inveterate-subscriber"
@cart.line_items.each do |line_item|
if @product_id_list.size > 0
unless @product_id_list.include? line_item.variant.product.id
next
end
end
line_item.change_line_price(
line_item.line_price * @percentage_off,
message: @message
)
end
end
end
CAMPAIGNS = [
MemberOnlyPricing.new()
]
CAMPAIGNS.each do |campaign|
campaign.run(Input.cart)
end
Output.cart = Input.cart
Last modified 29d ago