ڈسکاؤنٹ اسکرپٹ کی مثال

یہ مثال ایک لائن آئٹم اسکرپٹ کا استعمال کر کے گاہک کے ملک پر مبنی ڈسکاؤنٹ کی پیشکش کرتی ہے۔ اس مثال میں گاہک کو ڈسکاؤنٹ کے بارے میں معلومات فراہم کرنے کے لیے ایک مثالی Liquid کوڈ بھی شامل ہے۔ اس مثال کے لیے ضروری ہے کہ آپ کو اپنے اسٹور کی checkout.liquid فائل تک رسائی حاصل ہو۔ اگر آپ کے پاس اپنے تھیم کوڈ میں اس فائل تک رسائی نہیں ہے، تو اپنا چیک آؤٹ کسٹمائز کرنے کے لیے Shopify Extensions for checkout اور Shopify Functions استعمال کریں۔

یہ مثال ایک فرضی VAT ٹیکس استعمال کرتی ہے جس کے درج ذیل اصول ہیں:

  • ممالک کی یونین میں رہنے والے گاہکوں سے فروخت ہونے والی تمام پروڈکٹ پر VAT ٹیکس وصول کیا جاتا ہے۔
  • ایسے گاہک جو پروڈکٹ خریدتے ہیں اور انہیں نان یونین والے ملک میں ایکسپورٹ کرواتے ہیں انہیں VAT ٹیکس ادا نہیں کرنا پڑتا (دوسرے الفاظ میں، ان گاہکوں کو کی جانے والی سیلز زیرو ریٹڈ ہوتی ہیں)۔
  • اسٹور میں موجود پروڈکٹس کی قیمتوں میں VAT ٹیکس شامل ہوتا ہے، یعنی اسٹور کی ٹیکس سیٹنگز کے لیے تمام ٹیکسز میری قیمتوں میں شامل ہیں سیٹنگ فعال ہوتی ہے۔

اسٹور فرنٹ میں، تمام گاہکوں کو پروڈکٹس کی قیمتوں میں VAT شامل نظر آتا ہے۔ جب کارٹ میں آئٹمز شامل کیے جاتے ہیں، تو VAT والی قیمت دکھائی جاتی ہے:

ٹیکس لاگو ہونے کے ساتھ کارٹ

چیک آؤٹ پر، اسکرپٹ کے ذریعے شپنگ والے ملک کی جانچ کی جاتی ہے۔ اگر ملک نان یونین ہے، تو کل قیمت میں سے VAT کی رقم کم کر دی جاتی ہے:

ہٹائے گئے ٹیکس کے ساتھ کارٹ

مندرجہ ذیل مثال میں، گاہک کے ملک کی جانچ کی جاتی ہے۔ اگر گاہک کسی ایسے ملک میں رہتا ہے جہاں VAT لاگو نہیں ہوتا ہے، تو آرڈر کی کل قیمت میں سے VAT کی رقم کم کر دی جاتی ہے۔

# Set VAT equal to the amount of the VAT rate.
# For example, if the VAT rate is 20%, then VAT=20
VAT = 20

# Message that appears beside the discount in the checkout
VAT_REMOVAL_MESSAGE = "VAT removed"

# List of countries where the VAT is charged to orders
COUNTRY_CODES_EU = %w[
AT BE BG CY CZ DK EE FI FR DE GR HU IE IT
LV LT LU MT NL PL PT RO SK SI ES SE GB
]

if Input.cart.shipping_address
  unless COUNTRY_CODES_EU.include?(Input.cart.shipping_address.country_code)
    Input.cart.line_items.each do |line_item|
      product = line_item.variant.product
      next if product.gift_card?
      vat_only_fraction = VAT / (100.0 + VAT)
      vat =  line_item.line_price * vat_only_fraction
      ex_vat_price = line_item.line_price - vat
      line_item.change_line_price(ex_vat_price, message: VAT_REMOVAL_MESSAGE)
    end
  end
end

Output.cart = Input.cart

کارٹ میں ہونے والی تبدیلیوں کی وضاحت کرنے کے لیے مندرجہ ذیل Liquid کوڈ بالا اسکرپٹ کے ساتھ کام کرتا ہے۔

اس کوڈ کو checkout.liquid میں شامل کریں:

<style>
  .checkout__vat-exemption-message {
    padding: 1.25em 0;
    display: none;
  }
  @media (min-width: 1000px) {
    .checkout__vat-exemption-message {
      padding-top: 0;
      padding-bottom: 2.5em;
    }
  }
</style>

<div class="checkout__vat-exemption-message">
  <span>{{ 'plus.checkout.vat_exemption_message' | t }}</span>
</div>

<script>
  $(document).on('ready page:load page:change', function() {
    var country = '';

    if(Shopify.Checkout.step === 'contact_information') {
      $country = $('[data-step] select[name="checkout[shipping_address][country]"]');
      country = $country.find(':selected').data('code');
    } else {
      country = "{{ checkout.shipping_address.country_code }}";
    }

    var eu_countries = ['AT','BE','BG','CY','CZ','DK','EE','FI','FR','DE','GR','HU','IE','IT','LV','LT','LU','MT','NL','PL','PT','RO','SK','SI','ES','SE','GB'];

    if (eu_countries.includes(country)) {
      $('.checkout__vat-exemption-message').css('display', 'none');
    } else {
      $('.checkout__vat-exemption-message').css('display', 'block');
    }
  });
  
</script>

اپنی انگریزی لوکیل فائل میں مندرجہ ذیل کوڈ شامل کریں:

"plus":{
    "checkout": {
      "vat_exemption_message": "As we're shipping outside the EU the VAT has been removed from items in your cart."
    }
  }

اس صفحے پر

مزید جانیں

ان کے بارے میں مزید جانیں: