İndirim komut dosyası örneği

Bu örnek, müşterinin bulunduğu ülkeye göre indirim sunmak için bir satır öğesi komut dosyası kullanır. Ayrıca örnek, müşteriye indirim hakkında bilgi vermek için örnek Liquid kodu içerir. Bu örnek, mağazanızın checkout.liquid dosyasına erişiminiz olmasını gerektirir. Tema kodunuzdaki bu dosyaya erişiminiz yoksa erişim elde etmek için Shopify Plus Destek ekibi ile iletişime geçin.

Bu örnekte, aşağıdaki kurallara sahip olan kurgusal bir KDV vergisi kullanılır:

  • Ülkeler birliğinde ikamet eden müşterilere satılan tüm ürünlerden KDV vergisi alınır.
  • Satın aldıkları ürünleri ülkeler birliğinin dışındaki bir ülkeye ihraç eden müşteriler KDV vergisi ödemezler (diğer bir deyişle, bu müşterilere yapılan satışlardan vergi alınmaz).
  • Mağazadaki ürünlerin fiyatlarına KDV dahildir (mağazanın vergi ayarlarından Tüm vergiler fiyatlarıma dahil edilsin ayarı etkinleştirildiyse).

Mağaza vitrininde tüm müşteriler KDV'nin ürün fiyatlarına dahil edildiğini görürler. Sepete ürün eklendiğinde KDV dahil fiyat gösterilir:

Vergi uygulanmış sepet

Ödeme sayfasına gelindiğinde komut dosyası tarafından kargo ülkesi kontrol edilir. Ülke, birlik dışındaki bir ülke ise toplam fiyatta KDV tutarı kadar indirim yapılır.

Vergi kaldırılmış sepet

Aşağıdaki örnekte müşterinin ülkesi kontrol edilmektedir. Müşteri, KDV'nin geçerli olmadığı bir ülkede yaşıyorsa siparişin toplam fiyatında KDV tutarı kadar indirim yapılır.

# 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

Aşağıdaki Liquid kodu, sepette yapılan değişiklikleri açıklamak için yukarıdaki komut dosyasıyla çalışır.

Bu kodu checkout.liquid'e ekleyin:

<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>

İngilizce yerel ayar dosyanıza aşağıdaki kodu ekleyin:

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

Daha fazla bilgi edinin

Daha fazla bilgi edinin:

Shopify ile satış yapmaya hazır mısınız?

Ücretsiz olarak dene