Добавление нескольких валют и платёжных шлюзов в магазин WooCommerce
Узнайте, как настроить мультивалютность в Вашем магазине WooCommerce с помощью WPML. В этой статье рассматривается включение нескольких валют, установка цен для каждой валюты (или использование автоматической конвертации по обменному курсу), отображение переключателя валют (блок, виджет или шорткод), маршрутизация различных платёжных шлюзов для разных стран и автоматическое переключение валюты в зависимости от местоположения посетителя. Мультивалютность работает независимо от того, является ли Ваш магазин одноязычным или многоязычным.
Информацию о переводе контента Вашего магазина см. в статье Перевод WooCommerce в WordPress.
Перед началом работы
Установите и активируйте:
- WooCommerce с валютой Вашего магазина по умолчанию, заданной в WooCommerceНастройкиОсновные, и хотя бы одним опубликованным товаром.
- Ядро WPML и дополнение для совместимости WPML Multilingual & Multicurrency for WooCommerce. Скачайте дополнение со страницы загрузок Вашей учётной записи WPML.
Мультивалютность работает без дополнительных языков. Вашему магазину не обязательно быть многоязычным для её использования. Если Вам нужна только мультивалютность в одноязычном магазине, бесплатный плагин WooCommerce Multilingual с WordPress.org также справится с этим самостоятельно.
Включение мультивалютности для Вашего магазина
Чтобы включить мультивалютность в WooCommerce, откройте WPMLНастройкиМультивалютность и включите переключатель Включить мультивалютный режим. Затем добавьте каждую валюту, в которой Вы хотите продавать. Для каждой валюты задайте положение символа, десятичный разделитель, разделитель тысяч и количество десятичных знаков. Форматирование цен будет соответствовать ожиданиям покупателей на этом рынке.
Вашей валютой по умолчанию остаётся та, которая настроена в собственных параметрах WooCommerce в разделе WooCommerceНастройкиОсновные. Дополнительные валюты, которые Вы добавляете в настройках мультивалютности, — это те, на которые могут переключаться клиенты.
Установка цен для каждой валюты или использование автоматической конвертации
Чтобы установить цены в каждой валюте в мультивалютном магазине WooCommerce, выберите между ручным заданием цен для каждой валюты или автоматической конвертацией по обменному курсу. Эти два варианта работают для каждой валюты отдельно. Вы можете комбинировать ручные цены для одних валют и автоматическую конвертацию для других, либо использовать один подход для всех.
Ручные цены для каждой валюты — ровные числа, которые ожидают клиенты
Устанавливайте цену для каждого товара в каждой валюте явно. Товар за 20 $ становится 19,99 € в евро и 3 000 ¥ в иенах. Это ровные числа, привычные для клиентов, а не результат деления по текущему обменному курсу. Вы задаёте ручные цены на экране редактирования каждого товара в панели мультивалютности, которая появляется рядом со стандартными полями цен WooCommerce.
Ручное ценообразование — правильный выбор для большинства магазинов, продающих на устоявшихся рынках. Оно позволяет Вам осознанно устанавливать цены для каждого рынка: делать скидки на одних рынках и устанавливать премиальные цены на других. Вы не позволяете вчерашнему обменному курсу диктовать все условия.
Автоматическая конвертация из исходной цены
Установите исходную цену один раз. Плагин совместимости применяет обменный курс и показывает конвертированную цену в каждой валюте. Настройте курс в разделе Автоматические обменные курсы в WPMLНастройкиМультивалютность. Задавайте курсы вручную или получайте их в реальном времени из настроенного источника по выбранному Вами расписанию.
Автоматическая конвертация — правильный выбор для магазинов с быстро меняющимися каталогами или множеством валют, где ручная установка каждой цены была бы непрактичной.
Отображение переключателя валют — виджет, блок или шорткод
Для отображения переключателя валют в Вашем магазине WooCommerce есть три варианта размещения. Выберите тот, который лучше всего подходит для места, где должен появиться переключатель.
- Блок. Добавьте блок Переключатель валют на любую страницу или в запись через редактор блоков WordPress.
- Виджет. Перетащите виджет Переключатель валют в любую область виджетов через Внешний видВиджеты.
- Шорткод. Вставьте
[currency_switcher]на любую страницу, в запись или шаблон, где Вы хотите отобразить переключатель.
Настройте внешний вид переключателя в разделе Параметры переключателя валют в WPMLНастройкиМультивалютность. Вы можете выбрать выпадающий список, расположение рядом или список. Вы также можете выбрать только символ, только код или и то, и другое. Эти настройки применяются к любому варианту размещения.
Справочник по шорткоду переключателя валют
Шорткод [currency_switcher] принимает следующие атрибуты:
format. Управляет тем, как отображается каждая валюта. Токены:%name(полное название валюты, например, Euro),%symbol(например, €),%code(например, EUR),%subtotal(промежуточный итог корзины в этой валюте). Пример:[currency_switcher format="%name (%symbol)"]выводит Euro (€).switcher_style. Визуальный стиль. Значения:wcml-dropdown,wcml-dropdown-click,wcml-horizontal-list,wcml-vertical-list.
Пример с обоими атрибутами:
[currency_switcher format="%code %symbol" switcher_style="wcml-dropdown"]
Для более глубокой настройки, например, создания собственного шаблона переключателя, существует отдельный справочник по файлам шаблонов для разработчиков.
Отображение различных платёжных шлюзов для разных стран и валют
Чтобы настроить маршрутизацию платёжных шлюзов для каждой валюты, откройте WPMLНастройкиМультивалютность и нажмите Изменить для каждой валюты в таблице валют. Для каждой валюты перечислены доступные платёжные шлюзы с флажками. Включите шлюзы, которые работают для этой валюты. Отключите те, которые не работают. Клиенты увидят только те варианты оплаты, которые применимы к валюте, в которой они платят.
Это правильный способ управления магазинами, продающими в нескольких регионах. Ваша учётная запись Stripe по умолчанию может обрабатывать доллары, в то время как региональная учётная запись Stripe или локальный шлюз обрабатывает другую валюту. Клиенты, оплачивающие в каждой валюте, видят шлюз, привязанный к этой валюте, а не все шлюзы сразу.
Автоматическое переключение валюты в зависимости от местоположения посетителя
Чтобы автоматически переключать валюту в зависимости от местоположения посетителя, откройте WPMLНастройкиМультивалютность и в разделе валют выберите Местоположение клиента (вместо Язык сайта) в параметре Отображать валюты на основе. Для этой опции требуется лицензионный ключ MaxMind для определения страны по IP-адресу. Затем плагин определяет страну посетителя и по умолчанию показывает валюту этой страны. Вы сопоставляете каждую страну с валютой в той же панели настроек.
Клиенты по-прежнему могут переключать валюту вручную, если Вы добавили на страницу переключатель валют. Обе функции работают вместе. Определение местоположения устанавливает значение по умолчанию. Переключатель доступен для его изменения.
WooCommerce Subscriptions, Bookings и другие типы товаров из расширений
Мультивалютность работает вместе с основными типами товаров из расширений WooCommerce. Каждое из них имеет свои особенности поведения, которые необходимо проверить перед запуском.
- WooCommerce Subscriptions. Товары с регулярной подпиской поддерживают мультивалютное ценообразование. WPML Multilingual & Multicurrency for WooCommerce автоматически конвертирует цены планов подписки в каждую валюту. Чтобы задать цены вручную, используйте всплывающее окно Установить цены плана вручную, как описано в статье Использование WooCommerce Subscriptions с WPML. Платежи за продление обрабатываются в той валюте, в которой клиент оформил подписку.
- WooCommerce Bookings. Цены на бронируемые товары, суммы депозитов и стоимость за ресурс поддерживают ценообразование для каждой валюты. В подтверждении бронирования везде отображается валюта клиента.
- Product Bundles, Composite Products, Mix and Match. Комплекты и составные товары наследуют настройки валюты и цены родительского товара.
Для любого типа товаров из расширений протестируйте тестовую покупку от начала до конца в каждой валюте перед запуском. Настройки мультивалютности работают согласованно во всех расширениях. Специфичные для расширений правила ценообразования (депозиты, планы оплаты, скидки на комплекты) могут взаимодействовать таким образом, который Вам захочется проверить.
Обработка корзины при изменении валюты или языка
Когда клиент переключает валюту или язык в середине сеанса, в его корзине всё ещё остаются товары по ценам в предыдущей валюте. WPML 5 позволяет Вам выбрать, как будет вести себя корзина для каждого случая отдельно. Откройте WPMLНастройкиWCML и прокрутите до раздела Корзина.
Вы увидите две пары переключателей:
- Переключение языков при наличии товаров в корзине. Выберите Синхронизировать содержимое корзины при переключении языков, чтобы сохранить корзину и пересчитать цены на товары в ней, или выберите Запрашивать подтверждение и очищать корзину, чтобы спросить клиента перед очисткой.
- Переключение валют при наличии товаров в корзине. Те же два варианта для изменения валюты.
Для синхронизации корзины требуется файл cookie языка WPML. Если он отключён, в разделе отображается встроенное уведомление со ссылкой на WPMLНастройкиЯзыкиПеренаправление по языку браузера, где Вы можете включить этот файл cookie.
Распространённые проблемы
- Мультивалютность включена, но валюты не появляются. Добавьте хотя бы одну валюту помимо валюты по умолчанию в WPMLНастройкиМультивалютностьВалюты. В переключателе отображаются только настроенные валюты.
- Шорткод переключателя валют ничего не выводит. Убедитесь, что мультивалютность включена и добавлена хотя бы одна валюта. Шорткод выводит пустой переключатель, если нет альтернативных валют.
- Для валюты отображается неправильный шлюз. Перепроверьте настройки шлюзов для каждой валюты (нажмите Изменить для каждой валюты в таблице валют). Для каждой валюты перечислены доступные шлюзы, и их необходимо явно включать для каждой валюты.
- Местоположение клиента возвращает неправильную валюту. Для этой опции используется лицензионный ключ MaxMind для определения по IP-адресу. Базы данных GeoIP иногда ошибаются в классификации. Ваш хостинг-провайдер также может кэшировать IP-адреса с пограничных серверов CDN. Протестируйте в новой сессии браузера и убедитесь, что Ваш хост передаёт реальный IP-адрес посетителя.
- Цены выглядят правильно, но налог неверный. Настройки налогов по местоположению в WooCommerce применяются поверх цены в соответствующей валюте. Настройте налоговые классы отдельно в WooCommerceНастройкиНалог.