Deskontu-scriptaren adibidea
Adibide honek lerroko elementuen script bat erabiltzen du bezeroaren herrialdean oinarritutako deskontua eskaintzeko. Adibideak Liquid kodearen adibide bat ere barne hartzen du, bezeroari deskontuari buruzko informazioa emateko. Adibide honetan, dendako checkout.liquid fitxategira sarbidea izan behar duzu. Zure gaiaren kodean fitxategi horretara sarbiderik ez baduzu, erabili ordainketa-prozesurako Shopify Extensions eta Shopify Functions zure ordainketa-prozesua pertsonalizatzeko.
Adibide honek arau hauek dituen fikziozko BEZ bat erabiltzen du:
- Herrialde-batasun batean bizi diren bezeroei BEZa kobratzen zaie saltzen diren produktu guztietan.
- Produktuak erosi eta batasunetik kanpoko herrialde batera esportatzen dituzten bezeroek ez dute BEZa ordaindu behar (beste era batera esanda, bezero horiei egindako salmentek zero tasa dute).
- Dendako produktuen prezioek BEZa barne hartzen dute, hau da, Zerga guztiak nire prezioetan sartuta daude ezarpena gaituta dago dendaren zerga-ezarpenetan.
Erakusleihoan, bezero guztiek BEZa produktuen prezioetan sartuta ikusten dute. Produktuak saskian gehitzean, BEZa barne duen prezioa erakusten da:

Ordainketa-prozesuan, scriptak bidalketa-herrialdea egiaztatzen du. Herrialdea batasunetik kanpokoa bada, prezio totala BEZaren zenbatekoaren arabera murrizten da:

Hurrengo adibidean, bezeroaren herrialdea egiaztatzen da. Bezeroa BEZa aplikatzen ez den herrialde batean bizi bada, eskaeraren prezio totala BEZaren zenbatekoaren arabera murrizten da.
# 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.cartOndorengo Liquid kodeak goiko scriptarekin funtzionatzen du saskiko aldaketak azaltzeko.
Gehitu kode hau checkout.liquid fitxategian:
<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>Gehitu ondorengo kodea zure ingelesezko eskualdeko ezarpenen fitxategian:
"plus":{
"checkout": {
"vat_exemption_message": "As we're shipping outside the EU the VAT has been removed from items in your cart."
}
}Orri honetan
Lortu informazio gehiago
Lortu informazio gehiago honi buruz: