தள்ளுபடி ஸ்கிரிப்ட் எடுத்துக்காட்டு

வாடிக்கையாளரின் நாட்டைப் பொருத்து தள்ளுபடியை வழங்க, இந்த எடுத்துக்காட்டு வரிசை உருப்படி ஸ்கிரிப்டைப் பயன்படுத்துகிறது. தள்ளுபடி குறித்து வாடிக்கையாளருக்குத் தகவல்களை வழங்க, இதில் Liquid குறியீடு எடுத்துக்காட்டும் உள்ளது. இந்த எடுத்துக்காட்டைப் பயன்படுத்த, உங்கள் ஸ்டோரின் checkout.liquid கோப்பிற்கான அணுகல் உங்களுக்கு இருக்க வேண்டும். உங்கள் தீம் குறியீட்டில் இந்தக் கோப்பிற்கான அணுகல் உங்களுக்கு இல்லை எனில், உங்கள் செக்அவுட்டைத் தனிப்பயனாக்க Shopify Extensions for checkout மற்றும் Shopify Functions ஆகியவற்றைப் பயன்படுத்தவும்.

பின்வரும் விதிகளைக் கொண்டுள்ள கற்பனையான VAT வரியை இந்த எடுத்துக்காட்டு பயன்படுத்துகிறது:

  • நாடுகளின் ஒன்றியத்தில் வசிக்கும் வாடிக்கையாளர்களுக்கு விற்கப்படும் அனைத்துத் தயாரிப்புகளுக்கும் VAT வரிகள் விதிக்கப்படும்.
  • தயாரிப்புகளை வாங்கி அவற்றை ஒன்றியம் அல்லாத நாட்டுக்கு ஏற்றுமதி செய்யும் வாடிக்கையாளர்கள் VAT வரியைச் செலுத்த வேண்டியதில்லை (அதாவது, இந்த வாடிக்கையாளர்களுக்கான விற்பனைகளுக்குப் பூஜ்ஜிய வரி விதிக்கப்படும்).
  • ஸ்டோரின் வரி அமைப்புகளில் All taxes are included in my prices அமைப்பு இயக்கப்பட்டிருப்பதால், ஸ்டோரில் உள்ள தயாரிப்புகளின் விலைகளில் 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>

பின்வரும் குறியீட்டை உங்கள் English லோகேல் ஃபைலில் சேர்க்கவும்:

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

இந்தப் பக்கத்தில்