مثال على سكربت الخصم
يستخدم هذا المثال سكربت العنصر لتقديم خصم يعتمد على بلد العميل. يتضمن المثال أيضاً كود Liquid لتقديم معلومات للعميل حول الخصم. يتطلب هذا المثال أن يكون لديك حق الوصول إلى ملف checkout.liquid الخاص بمتجرك. إذا لم يكن لديك إمكانية الوصول إلى هذا الملف في كود القالب، فاستخدم Shopify Extensions لصفحة الدفع وShopify Functions لتخصيص صفحة الدفع الخاصة بك.
يستخدم هذا المثال ضريبة القيمة المضافة الافتراضية والتي تتبع القواعد التالية:
- يُفرض على العملاء المقيمين في اتحاد بلدان ضرائب القيمة المضافة على جميع المنتجات المُباعة.
- لا يتعين على العملاء الذين يشترون منتجات ويصدرونها إلى بلد خارج الاتحاد دفع ضريبة القيمة المضافة (بمعنى آخر، المبيعات لهؤلاء العملاء معفاة من الضرائب).
- تشمل أسعار المنتجات في المتجر ضريبة القيمة المضافة؛ أي تم تفعيل الإعداد تضمين جميع الضرائب في أسعاري في إعدادات الضرائب الخاصة بالمتجر.
في واجهة المتجر، يرى جميع العملاء ضريبة القيمة المضافة متضمنة في أسعار المنتجات. عند إضافة عناصر إلى سلة التسوق، يتم عرض السعر الشامل لضريبة القيمة المضافة:

عند الدفع، يتحقق السكربت من بلد الشحن. إذا كان البلد غير تابع للاتحاد، فسيتم تخفيض السعر الإجمالي بمقدار ضريبة القيمة المضافة:

في المثال التالي، يتم التحقق من بلد العميل. وإذا كان العميل يقيم في بلد لا تُطبق فيه ضريبة القيمة المضافة، فسيتم تخفيض السعر الإجمالي للطلب بمقدار ضريبة القيمة المضافة.
# 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 التالي مع السكربت أعلاه لتوضيح التغييرات في سلة التسوق.
أضف هذا الكود إلى 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."
}
}في هذه الصفحة
معرفة المزيد
معرفة المزيد حول: