Różne waluty
Dowiedz się, jak sprzedawać produkty w wielu walutach w Easycart, zarządzać ustawieniami walut i zapewniać prawidłowe obliczenia podatkowe.
Z pomocą Easytools możesz sprzedawać w dowolnych 135+ walutach wspieranych przez Stripe. Istotne jest to, że każdy z Twoich produktów może mieć tylko jedną przypisaną walutę. Na ten moment nie mamy możliwości dynamicznej zamiany waluty w zależności od kraju kupującego w ramach jednego produktu.
Sprzedając w różnych walutach, a więc do klientów z rozmaitych krajów, musisz także upewnić się, że w koszyku będą odpowiednio kalkulowane podatki, które są należne w zależności od miejsca pochodzenia Twoich klientów, a także tego, w jakich jurysdykcjach podatkowych jesteś zarejestrowany. Upewnij się, że masz włączone wsparcie obsługi podatkowej sprzedaży zagranicznej, zwłaszcza wyliczanie podatków w koszyku, które zapewnia Easybilling. Więcej na temat podatków i ich ustawień przeczytasz tutaj.
Balans na Stripe, który zgromadzisz z płatności w różnych walutach, albo zostanie przeliczony na Twoją walutę główną i wypłacony na podstawowe konto, albo pozostanie w walucie, w jakiej płacili klienci, jeśli tylko masz ją dodaną do ustawień wypłat na Stripe, a także powiązane z nią konto do wypłat.
Aby sprzedawać ten sam produkt w różnych walutach, należy go zduplikować i dla klonu tego produktu wybrać po prostu inną walutę i cenę. Następnie, na stronach sprzedażowych, należy osobno linkować właściwe waluty.
Zaawansowany sposób: Zmień linki do koszyka w zależności od kraju odwiedzającego
Możesz także skorzystać ze skryptu, który pozwoli na wykrycie tego, z jakiego kraju pochodzi odwiedzający Twoją stronę i podmieni link do koszyka na ten, w odpowiedniej walucie. Możesz użyć AP by uzyskać kod kraju użytkownika na podstawie jego lokalizacji, a następnie odpowiednio zaktualizować linki.
Oto podstawowy skrypt JavaScript, który to robi a który musisz dodać do sekcji <head>
swojej strony w znacznikach <script>…</script>
// Function to determine user's country
function getUserCountry() {
const locale = navigator.language || navigator.userLanguage;
const countryCode = locale.split('-').pop(); // Extracts the country code from the locale
return countryCode.toUpperCase();
}
// Function to update the links based on the country code
function updateLinksForCountry() {
const countryCode = getUserCountry();
const links = document.querySelectorAll('.localized-link'); // Assume links have this class
links.forEach(link => {
const baseUrl = link.dataset.baseUrl; // The base URL without the country code
const newUrl = `${baseUrl}/${countryCode}123`;
link.href = newUrl;
});
}
// When the document is ready, update the links
document.addEventListener('DOMContentLoaded', function() {
updateLinksForCountry();
});
Następnie, w kodzie HTML Twojej strony, upewnij się, że Twoje linki są skonfigurowane z atrybutem data-base-url oraz klasą localized-link:
<a href="#" class="localized-link" data-base-url="<https://easl.ink>">Click here</a>
<a href="#" class="localized-link" data-base-url="<https://easl.ink>">Another link</a>
- Dla użytkownika z Wielkiej Brytanii link zostanie zaktualizowany do
https://easl.ink/GB123
- Dla użytkownika z Hiszpanii zostanie zaktualizowany do
https://easl.ink/ES123
Ten skrypt dynamicznie aktualizuje linki na podstawie lokalizacji użytkownika, co ułatwia serwowanie linków specyficznych dla danego regionu.
Jak to działa?
Funkcja getUserCountry
Ta funkcja pobiera lokalizację użytkownika za pomocą navigator.language
lub navigator.userLanguage.
Następnie wyciąga kod kraju z lokalizacji (np. z "en-GB" wyciąga "GB").
Funkcja updateLinksForCountry
Ta funkcja wybiera wszystkie elementy z klasą .localized-link.
Dla każdego linku tworzy nowy URL, dodając kod kraju do podstawowego adresu URL, który jest zapisany w atrybucie data-base-url linku. Na koniec aktualizuje atrybut href każdego linku nowym adresem URL.
Zdarzenie DOMContentLoaded
Skrypt czeka, aż dokument HTML zostanie w pełni załadowany, zanim uruchomi funkcję updateLinksForCountry.