İ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 ürünlerin fiyatına KDV'nin dahil olduğunu görür. Sepete ürün eklendiğinde KDV dahil fiyat gösterilir:
Ö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.
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
öğesine 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: