İndirim komut dosyası örneği
Bu örnekte, müşterinin ülkesine göre indirim sunmak için bir satır öğesi komut dosyası kullanılmaktadır. Örnekte ayrıca, müşteriye indirim hakkında bilgi vermeye yönelik örnek bir Liquid kodu bulunmaktadır. Bu örnek, mağazanızın checkout.liquid
dosyasına erişiminiz olmasını gerektirir. Tema kodunda bu dosyaya erişiminiz yoksa ödemenizi özelleştirmek için Checkout Extensibility'yi ve Shopify Functions'ı kullanın.
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."
}
}
Bu sayfada
Daha fazla bilgi edinin
Daha fazla bilgi edinin: