Подготовка интернет-магазина на CS-Cart к запуску: эквайринг, цены, региональные витрины
Магазин на CS-Cart перед запуском: подключил приём оплаты картой (Альфа-Банк), настроил автообновление цен и остатков, развернул региональные витрины с выбором города — база, без которой не выйти в прод.
Задача
Каталог собран, витрина готова — но пока магазин не принимает оплату, не обновляет цены и не разведён по городам, продавать он не может. Это не про сложную инженерию, а про обязательную базу запуска: рутинные, но необходимые вещи, которые надо сделать аккуратно и по стандарту.
Типичный клиент — магазин, у которого «почти готово»: каталог и дизайн есть, а до старта не хватает оплаты, регулярных цен и работы по регионам. Ценность тут не в нестандартных решениях, а в том, что базу закрывают под ключ и без сюрпризов.
Решение
Приём оплаты — эквайринг Альфа-Банка
Подключил приём оплаты банковской картой через интернет-эквайринг Альфа-Банка — по стандартному флоу CS-Cart, без самописных решений. Для денежного контура это и правильно: чем меньше своего кода в приёме платежей, тем меньше рисков, поэтому здесь нужен не велосипед, а аккуратно настроенный готовый модуль. Встроенный модуль вендор пометил как устаревший — поставил актуальный платёжный модуль и настроил способ оплаты: API-логин для интеграции (не операторский), продуктивный шлюз payment.alfabank.ru, автоматическую смену статуса заказа при оплате, возвраты из карточки заказа.
Перед боевым режимом прогнал платёжные сценарии — оплата, отказ, возврат: это обязательный шаг согласования с банком, а не формальность. Учёл нюанс CS-Cart: при переходе на форму оплаты заказ фиксируется, а корзина очищается, поэтому статусы и уведомления настроил под этот порядок.

Обновление цен и остатков
Цены и остатки приходят выгрузками, и держать их актуальными вручную на каталоге такого размера невозможно. Настроил регулярное обновление: скрипт разбирает прайс (XML — магазин, бренд, артикул, цена) и остатки (CSV), сопоставляет товары по артикулу и обновляет цену и наличие. Прогон ведёт лог и сводный отчёт об изменениях — видно, какие цены поменялись и что не сопоставилось. Это снимает с владельца ручную правку цен и держит витрину честной по наличию.
Региональные витрины — мультигород
Магазин работает на два города. Развернул отдельную региональную витрину на поддомене — со своим каталогом, категориями, фильтрами, меню с картинками, адаптированными контактами и футером — и меню выбора города с переключением между витринами. Поддомен основного города настроил 301-редиректом на главную: основной город и есть главная витрина, отдельная не нужна, и это не плодит SEO-дубль.

Стек
CS-Cart 4.18.3 ULTIMATE · PHP 8.1 · Python · MySQL 8.0 · эквайринг Альфа-Банк (платёжный модуль + REST, шлюз payment.alfabank.ru) · multi-storefront CS-Cart · nginx (301) · cron · XML/CSV
Результат
- Приём оплаты картой подключён и настроен: покупатель платит на защищённой форме банка, статус заказа меняется автоматически, возвраты делаются из админки. Платёжные сценарии (оплата, отказ, возврат) проверены.
- Цены и остатки обновляются регулярно из выгрузок, с логом и сводным отчётом об изменениях — без ручной правки.
- Два города разведены по витринам с выбором города; дубль поддомена закрыт 301-редиректом.
- Магазин доведён до состояния, в котором его можно открывать на продажи.
Ограничение, честно. Обновление цен и остатков заточено под формат выгрузок (набор полей прайса и файла остатков). Под другой источник маппинг перенастраивается — это инструмент проекта, не универсальный коннектор. Зато внутри проекта обновление предсказуемо и повторяемо.