Настроить валюты в OpenCart: короткое руководство
Пошагово добавляем валюту в OpenCart 3.x, выбираем основную валюту магазина, задаём курс и проверяем отображение цен. Отдельно разбираем округление, символы и ошибки после изменения настроек.

Добавить рубли, доллары или евро в OpenCart 3.x можно примерно за 20–40 минут, если у вас есть доступ администратора и вы заранее знаете, какая валюта будет основной. В конце покупатель увидит корректные цены, а заказы и отчёты будут привязаны к выбранной валюте магазина.
Что подготовить до начала
Инструкция рассчитана на OpenCart 3.x. В OpenCart 4.x названия разделов и расположение отдельных настроек могут отличаться, поэтому перед изменениями проверьте версию в панели администратора или в документации вашей сборки.
- доступ к панели администратора с правом менять настройки магазина;
- название и ISO-код валюты, например RUB, USD или EUR;
- понимание, какая валюта будет базовой для хранения цен;
- актуальный курс, если добавляемая валюта не является основной;
- резервная копия базы данных и файлов, если магазин уже работает с заказами.
Валюта по умолчанию — базовая валюта магазина. Относительно неё OpenCart рассчитывает цены в других включённых валютах. Если каталог уже заполнен ценами в рублях, не меняйте базовую валюту без отдельного плана миграции.
Самая частая ошибка — воспринимать курс как процент наценки. В OpenCart это коэффициент пересчёта относительно основной валюты, а не комиссия и не надбавка.
Пошаговая настройка валюты
1. Откройте список валют
В панели администратора перейдите в раздел System → Localisation → Currencies. В русской локализации это обычно разделы «Система», «Локализация» и «Валюты». Названия могут меняться в готовых сборках OpenCart.
Если пункта нет, у вашей учётной записи недостаточно прав или администратор изменил меню. Сначала проверьте права группы пользователя, а не создавайте новую валюту через настройки темы.
Проверка: открылась таблица валют с колонками кода, символа, курса и статуса.
2. Создайте валюту
Нажмите Add New и заполните поля. Для российского рубля пример будет выглядеть так:
- Title — Российский рубль или короткое название, которое увидит администратор;
- Code — RUB, трёхбуквенный ISO-код в верхнем регистре;
- Symbol Left — оставьте пустым, если знак рубля должен стоять после суммы;
- Symbol Right — ₽ или «руб.» в зависимости от дизайна магазина;
- Decimal Places — 2 для копеек, если каталог и платёжный модуль используют копейки;
- Value — коэффициент относительно валюты по умолчанию;
- Status — Enabled, чтобы валюта появилась в магазине.
Не заполняйте одновременно левый и правый символы: OpenCart может вывести сумму дважды или нарушить формат цены в теме. Символ ₽ также зависит от шрифта и шаблона, поэтому после сохранения проверяйте витрину на телефоне.
Проверка: новая валюта появилась в списке со статусом Enabled, а код состоит из трёх латинских букв.
3. Выберите основную валюту магазина
Перейдите в System → Settings → Stores, откройте нужный магазин на редактирование и найдите вкладку Local. В поле Currency выберите базовую валюту, например RUB, затем сохраните настройки.
Для магазина с ценами в рублях курс RUB должен быть равен 1. Если вы выбрали USD как основную валюту, значение 1 должно относиться уже к доллару, а цены в каталоге потребуют проверки.
Проверка: после сохранения поле Currency показывает выбранную валюту, а цена товара в административной части не изменилась неожиданно.
4. Задайте курс пересчёта
Откройте созданную валюту и укажите её значение относительно базовой. Например, если основная валюта — рубль, а курс доллара равен 90 рублей, для USD обычно указывают коэффициент, соответствующий этому пересчёту в вашей конфигурации и версии OpenCart. Не копируйте пример вслепую: направление расчёта нужно проверить на одном товаре.
После сохранения откройте товар с ценой 9000 рублей и переключите валюту на USD. Если магазин показывает около 100 долларов, направление курса настроено ожидаемо. Если появляется около 810 000 долларов или 0,01 доллара, коэффициент задан наоборот или в неправильном формате.
Проверка: один и тот же товар показывает логичную цену в базовой и дополнительной валюте, а разница соответствует курсу, который вы ввели.
5. Проверьте округление и оформление
Откройте карточку товара, категорию, корзину и страницу оформления заказа. Проверьте не только число, но и положение символа: «1 234,50 ₽» и «₽1,234.50» — разные форматы, которые зависят от темы, локали и настроек PHP.
Сравните итог в корзине с итогом на странице заказа. Если в карточке цена округляется до двух знаков, а в корзине появляется третья цифра, проблема может быть в настройках темы, налогах или платёжном модуле, а не в самой валюте.
Проверка: цена, скидка, налог, доставка и итоговый заказ используют один формат и одну валюту.
Что проверить после сохранения
- Переключите валюту на главной странице и в каталоге. Проверка: цены меняются, а названия товаров и изображения не исчезают.
- Положите товар в корзину. Проверка: цена в карточке, корзине и оформлении заказа не расходится из-за неверного курса.
- Создайте тестовый заказ с минимальной суммой. Проверка: в админке заказ отображается с правильным кодом валюты.
- Проверьте письмо о заказе и платёжную страницу. Проверка: платёжный модуль не получает сумму в другой валюте.
- Очистите кеш темы и модификаций, если старая цена остаётся на витрине. Проверка: после повторного открытия страницы отображается новое значение.
Если валюта не работает
Валюта не появляется в переключателе
Проверьте статус Enabled, сохранение записи и настройку валюты в разделе магазина. Если переключатель формирует тема, она может показывать только заранее разрешённые валюты. В этом случае смотрите настройки темы и её документацию, а не только стандартный раздел OpenCart.
После смены валюты цена стала огромной или почти нулевой
Обычно курс задан в обратном направлении. Сравните расчёт на одном тестовом товаре и убедитесь, какая валюта выбрана основной. Не исправляйте проблему массовым изменением цен, пока не проверили направление коэффициента.
Вместо символа отображаются квадраты или вопросительные знаки
Проверьте кодировку страницы, шрифт темы и способ вывода символа. Для диагностики временно используйте текстовый вариант вроде «руб.» и сравните результат. Если он отображается нормально, причина, вероятно, в шрифте или кодировке, а не в курсе.
В админке появляется «The page you requested cannot be found!»
Проверьте права группы администратора на раздел валют и корректность адреса панели. В OpenCart с модификациями ошибка также может появиться из-за конфликта расширения или устаревшего кеша модификаторов. После резервной копии обновите кеш модификаций и повторите проверку.
На витрине новая валюта есть, но платёж проходит в старой
Переключатель валюты на сайте не гарантирует, что платёжный модуль принимает все валюты. Откройте документацию конкретного модуля и проверьте список поддерживаемых кодов. Если модуль принимает только одну валюту, перед оплатой он должен явно конвертировать сумму либо запрещать неподдерживаемый вариант.
Где настройка ломается в рабочем магазине
Добавление валюты меняет не только внешний вид цен. На результат могут влиять налоги, скидки, доставка, кеш, тема и платёжный модуль. Особенно рискованно менять базовую валюту после появления заказов: старые цены и новые расчёты могут оказаться в разных единицах.
Автоматический курс также не стоит включать без контроля. Источник котировок может быть недоступен, курс может обновиться в неудобный момент, а округление — изменить итог заказа на несколько копеек или рублей. Для магазина с регулярными заказами задайте допустимый диапазон изменения и проверяйте уведомления расширения, если оно поддерживает такую функцию.
Если нужно менять валюту уже работающего каталога, сначала сделайте копию базы данных, проверьте десять товаров с разными ценами и оформите тестовый заказ. Историю заказов не редактируйте без понимания, как это повлияет на отчёты и возвраты.
Что сделать дальше
После базовой настройки проверьте три сценария: обычная покупка, товар со скидкой и заказ с доставкой. Затем посмотрите, какой код валюты записывается в заказ, письмо и платёжный модуль. Если курс меняется вручную, заведите журнал изменений с датой и новым коэффициентом — это быстрее, чем искать причину расхождения в старом заказе.
Примечание к термину: ISO-код валюты — стандартное трёхбуквенное обозначение вроде RUB, USD или EUR. Платёжные системы и обмены данными часто используют именно его, поэтому произвольное сокращение может не сработать.
Редактор изображений: Убрать лишнее, заменить фон, добавить объект, расширить кадр — на вашем изображении.
Спросить за 20 ₽Источники: OpenCart Documentation: Currency
Частые вопросы
Какую валюту выбрать основной в OpenCart?
Почему курс валюты в OpenCart не совпадает с курсом банка?
Можно ли поменять основную валюту после получения заказов?
Что будет, если я укажу курс в обратном направлении?
Нужно ли добавлять валюту отдельно в платёжный модуль?
Почему после настройки на сайте показывается старая цена?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.