Статья A.S Groups

Настройка мультивалютности WooCommerce без ошибок в ценах и заказах

Настройка нескольких валют и цен в WooCommerce

Навигация по статье

Услуги A.S Groups

Нужен сайт, магазин или автоматизация?

Помогаю бизнесу запускать и дорабатывать WordPress-проекты: от посадочной страницы до WooCommerce, CRM и Telegram-уведомлений.

Обсудить проект Telegram
WordPress под ключ Лендинги, корпоративные сайты и структура под заявки. WooCommerce Интернет-магазины, каталог, оплата, доставка и интеграции. Доработка сайта Правки, скорость, формы, баги и развитие текущего проекта. CRM / Telegram / AI Автоматизация заявок, уведомлений и ручных процессов.

Мультивалютность в WooCommerce нужна магазинам, которые продают в нескольких странах, принимают оплату в разных валютах или хотят показывать покупателю привычную цену без ручного пересчёта.

Но добавить переключатель валют недостаточно. В рабочей схеме должны совпадать цена в каталоге, корзина, checkout, сумма платежа и данные, которые останутся в заказе после покупки.

Сначала определяем логику валют

Перед настройкой важно понять, что именно требуется магазину. Один проект только показывает ориентировочную цену в валюте посетителя, но принимает оплату в базовой валюте. Другой действительно проводит платежи в нескольких валютах и должен хранить исходную сумму заказа без повторного пересчёта.

Эти сценарии нельзя настраивать одинаково. Поэтому сначала фиксируется базовая валюта, список дополнительных валют, источник курса и правила оплаты.

Откуда брать курс

Курс можно задавать вручную или получать из внешнего API. Автоматическое обновление удобно, но оно должно быть предсказуемым.

Я настраиваю понятный интервал обновления и проверяю поведение при временной недоступности источника. Магазин не должен внезапно получить нулевой курс или пересчитать уже созданный заказ из за ошибки внешнего сервиса.

Округление влияет на реальную цену

После конвертации часто появляются значения, неудобные для покупателя. Например, цена превращается в длинную дробь или заканчивается случайными копейками.

Правила округления нужно задавать осознанно и одинаково применять в каталоге, корзине и checkout. Иначе пользователь видит одну сумму на карточке товара и другую перед оплатой.

Вариации и скидки требуют отдельной проверки

В простом товаре пересчитать одну цену легко. В магазине с вариациями, sale price, купонами и динамическими скидками логика становится сложнее.

Я проверяю не только обычную цену, но и диапазоны вариаций, скидочные правила, купоны, доставку и налоги. Важно, чтобы каждый компонент итоговой суммы использовал одну и ту же валютную логику.

Checkout должен сохранять выбранную валюту

Самая неприятная ошибка возникает, когда покупатель собирает корзину в одной валюте, а на checkout или при переходе к платёжному шлюзу сумма меняется.

Поэтому выбранная валюта должна стабильно проходить весь путь заказа. Я тестирую переходы между страницами, обновление checkout, AJAX запросы и возврат пользователя со страницы платёжной системы.

Платёжный шлюз должен поддерживать валюту

Не каждый способ оплаты принимает все валюты магазина. Если шлюз не поддерживает выбранную валюту, лучше заранее показать допустимый вариант, чем получить отказ уже после отправки заказа.

При настройке проверяется список валют конкретного шлюза и логика его отображения. При необходимости способы оплаты можно ограничить по валюте или региону.

Сумма заказа не должна меняться задним числом

После создания заказа курс может обновиться. Это не означает, что старый заказ нужно пересчитать.

В заказе должны сохраниться фактическая валюта и суммы, которые видел покупатель во время оформления. Это важно для возвратов, отчётности, интеграций и разбирательств по платежам.

Что проверяю после настройки

  • переключение валют в каталоге и карточке товара
  • цены простых и вариативных товаров
  • sale price и купоны
  • доставку и налоги
  • корзину и checkout
  • совместимость платёжных шлюзов
  • округление
  • сохранённую валюту и суммы заказа
  • письма покупателю и менеджеру
  • REST API и внешние интеграции если они используют цены заказа

Интеграции тоже должны знать о валюте

Если заказы уходят в CRM, учётную систему, склад или собственный сервис, одной суммы недостаточно. Внешняя система должна получить валюту и понимать, является ли сумма уже окончательной.

Для таких проектов я отдельно проверяю интеграцию WordPress с API, чтобы повторный импорт или синхронизация не пересчитывали исторические данные.

Когда нужна кастомная логика

Готового решения достаточно не всегда. Магазину могут понадобиться фиксированные курсы для отдельных рынков, разные прайс листы, особое округление, ограничения способов оплаты или синхронизация цен с внешней системой.

В таких случаях я дорабатываю существующую схему точечно, не меняя WooCommerce core и не добавляя несколько конфликтующих валютных плагинов ради одной функции.

Как заказать настройку

Можно написать A.S Groups и указать базовую валюту, нужные дополнительные валюты, используемые платёжные шлюзы и источник курса, если он уже выбран.

Сначала проверю текущую конфигурацию магазина и совместимость оплаты. После этого настрою валюты и протестирую полный путь от цены товара до созданного заказа.

Следующий шаг

Нужно решить похожую задачу?

Предложить аудит текущей схемы цен и настройку мультивалютности с тестированием checkout и заказов.

Обсудить задачу

Источники

Обсуждение

Вопросы и комментарии

Можно уточнить детали статьи или поделиться своим опытом. Первый комментарий проходит проверку.

Оставить комментарий

Email не публикуется. Ссылки и HTML в тексте удаляются.

Мы используем приватную аналитику SlimStat, чтобы понимать, какие страницы полезны посетителям, и улучшать сайт. IP-адреса анонимизируются и хэшируются. Вы можете согласиться или отказаться от аналитики.
Cookies и конфиденциальность

Используем необходимые cookies, аналитику и данные форм, чтобы сайт работал корректно и заявки доходили.