Παράδειγμα script έκπτωσης
Αυτό το παράδειγμα χρησιμοποιεί ένα script στοιχείου γραμμής για να προσφέρει έκπτωση με βάση τη χώρα του πελάτη. Το παράδειγμα περιλαμβάνει επίσης δείγμα κώδικα Liquid για την παροχή πληροφοριών στον πελάτη σχετικά με την έκπτωση. Αυτό το παράδειγμα απαιτεί να έχετε πρόσβαση στο αρχείο checkout.liquid του καταστήματός σας. Εάν δεν έχετε πρόσβαση σε αυτό το αρχείο στον κώδικα του θέματός σας, τότε χρησιμοποιήστε τις Επεκτάσεις του Shopify για την ολοκλήρωση αγοράς και τις Λειτουργίες του Shopify για να προσαρμόσετε την ολοκλήρωση της αγοράς σας.
Αυτό το παράδειγμα χρησιμοποιεί έναν εικονικό φόρο ΦΠΑ που έχει τους ακόλουθους κανόνες:
- Οι πελάτες που κατοικούν σε μια ένωση χωρών χρεώνονται με φόρους ΦΠΑ για όλα τα προϊόντα που πωλούνται.
- Οι πελάτες που αγοράζουν προϊόντα και τα εξάγουν σε χώρα εκτός της ένωσης δεν χρειάζεται να πληρώσουν τον φόρο ΦΠΑ (με άλλα λόγια, οι πωλήσεις σε αυτούς τους πελάτες έχουν μηδενικό συντελεστή).
- Οι τιμές των προϊόντων στο κατάστημα περιλαμβάνουν τον φόρο ΦΠΑ, δηλαδή η ρύθμιση «Συμπεριλαμβάνονται όλοι οι φόροι στις τιμές μου» είναι ενεργοποιημένη για τις ρυθμίσεις φόρων του καταστήματος.
Στο ηλεκτρονικό κατάστημα, όλοι οι πελάτες βλέπουν τον ΦΠΑ να περιλαμβάνεται στις τιμές των προϊόντων. Όταν προστίθενται είδη στο καλάθι, εμφανίζεται η τιμή που περιλαμβάνει τον ΦΠΑ:

Κατά την ολοκλήρωση της αγοράς, το script ελέγχει τη χώρα αποστολής. Αν η χώρα είναι χώρα εκτός της ένωσης, τότε η συνολική τιμή μειώνεται κατά το ποσό του ΦΠΑ:

Στο παρακάτω παράδειγμα, ελέγχεται η χώρα του πελάτη. Εάν ο πελάτης κατοικεί σε μια χώρα όπου δεν ισχύει ο ΦΠΑ, τότε η συνολική τιμή της παραγγελίας μειώνεται κατά το ποσό του ΦΠΑ.
# 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 λειτουργεί με το παραπάνω script για να εξηγήσει τις αλλαγές στο καλάθι.
Προσθέστε αυτόν τον κώδικα στο 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>Προσθέστε τον ακόλουθο κώδικα στο αρχείο τοπικών ρυθμίσεων αγγλικών:
"plus":{
"checkout": {
"vat_exemption_message": "As we're shipping outside the EU the VAT has been removed from items in your cart."
}
}Σε αυτήν τη σελίδα
Μάθετε περισσότερα
Μάθετε περισσότερα σχετικά με: