Robokassa — это платёжный агрегатор, который принимает деньги картами, через СБП, электронные кошельки и оператора связи, а магазину отдаёт единый обработчик. В 1С-Битрикс для него есть штатный обработчик robox, поэтому подключение сводится к переносу нескольких параметров из личного кабинета и корректной настройке подписи.
Как Robokassa работает в связке с Битрикс
Robokassa выступает агрегатором: покупатель уходит на её платёжную страницу, выбирает способ оплаты (карта, СБП, ЮMoney, баланс телефона), а после оплаты возвращается на сайт. Магазину не нужен отдельный договор эквайринга с банком — расчёты и распределение по методам оплаты берёт на себя сам сервис.
Взаимодействие построено на трёх URL и подписи. Битрикс формирует ссылку на оплату с параметрами MerchantLogin, OutSum, InvId и контрольной суммой SignatureValue. После оплаты Robokassa делает запрос на Result URL (уведомление о статусе), а покупателя перенаправляет на Success URL или Fail URL.
Что взять из личного кабинета Robokassa
До настройки Битрикс зарегистрируйте магазин в личном кабинете Robokassa и откройте раздел «Технические настройки». Оттуда понадобятся:
- Идентификатор магазина (
MerchantLogin/ ShopLogin) — латиницей, задаётся при регистрации; - Пароль #1 — участвует в формировании подписи исходящего платежа;
- Пароль #2 — используется для проверки подписи в уведомлении на Result URL;
- Алгоритм расчёта хеша — MD5, SHA-256, SHA-384 или SHA-512;
- отдельная пара тестовых паролей — для работы в тестовом режиме.
Там же в кабинете указываются адреса Result/Success/Fail URL и метод их вызова (GET или POST). Значения паролей и алгоритм в кабинете и в Битрикс должны совпадать до символа — это самая частая причина ошибки подписи.
Добавление платёжной системы в Битрикс
В админке перейдите в Магазин → Настройки → Платёжные системы (пункт sale_pay_system) и нажмите «Добавить платёжную систему». В поле «Обработчик» выберите Робокасса (robox) — это стандартный обработчик модуля sale, лежащий в /bitrix/modules/sale/handlers/paysystem/robox/.
Ключевые поля карточки:
- привяжите систему к нужным типам плательщиков (физлицо, юрлицо) — без привязки она не появится на оформлении заказа;
- в блоке настроек обработчика заполните идентификатор магазина, Пароль #1 и Пароль #2;
- выберите алгоритм хеширования, идентичный выбранному в кабинете Robokassa;
- убедитесь, что валюта платёжной системы соответствует валюте заказа (по умолчанию RUB).
/local/.Подписи, пароли и Result URL
Подпись — механизм защиты от подмены суммы. Битрикс считает контрольную сумму исходящего платежа по формуле MerchantLogin:OutSum:InvId:Пароль#1, а Robokassa при возврате на Result URL присылает подпись, рассчитанную с Паролем #2 по схеме OutSum:InvId:Пароль#2. Если хеши не сходятся, заказ не будет помечен оплаченным.
В личном кабинете задайте технические адреса магазина:
| Параметр | Назначение |
|---|---|
| Result URL | серверное уведомление о результате, меняет статус заказа |
| Success URL | страница «спасибо» после успешной оплаты |
| Fail URL | страница при отмене или ошибке оплаты |
Фискализация по 54-ФЗ
Если по 54-ФЗ требуется онлайн-чек, есть два пути. Первый — фискализация силами Robokassa: сервис сам формирует и отправляет чек, а в запросе на оплату передаётся параметр Receipt с составом корзины. Второй — собственная касса (ОФД), подключённая через модуль Кассы в Битрикс (Магазин → Кассы ККМ).
Чтобы чек был корректным, в обработчике и товарах должны быть заданы:
- ставка НДС по каждой позиции и по доставке;
- признак предмета расчёта (товар, услуга, платёж);
- система налогообложения магазина.
При включённой фискализации в Robokassa не подключайте одновременно вторую кассу на те же заказы — иначе покупатель получит два чека на одну оплату.
Тестовый режим и проверка
Robokassa поддерживает тестовый режим: включите его в карточке платёжной системы и заполните тестовые Пароль #1 и Пароль #2 (они отличаются от боевых). В тестовом режиме реальные деньги не списываются, а на платёжной странице доступен эмулятор успешной и неуспешной оплаты.
Порядок проверки:
- оформите тестовый заказ и дойдите до перехода на Robokassa;
- проведите «оплату» через эмулятор и вернитесь по Success URL;
- убедитесь, что заказ получил статус «оплачен» — значит Result URL и подпись отработали;
- проверьте прилетевший чек, если включена фискализация.
Типичные ошибки при подключении
Большинство проблем сводится к нескольким повторяющимся причинам:
- Ошибка подписи (wrong signature) — не совпадают пароли или алгоритм хеша в кабинете и в Битрикс; проверьте оба пароля и алгоритм.
- Заказ не переходит в «оплачен» — Result URL недоступен извне, закрыт фаерволом или отдаёт редирект; адрес должен возвращать ответ по HTTPS без авторизации.
- Неверная сумма — расхождение
OutSumиз-за скидок или округления; сверьте валюту и количество знаков после запятой. - Нет платёжной системы на оформлении — не привязан тип плательщика или не задано ограничение по способу доставки.
Для диагностики полезен журнал в Магазин → Настройки → Журнал событий и лог запросов на Result URL на стороне сервера.
Итог
Подключение Robokassa к 1С-Битрикс — это перенос идентификатора магазина, двух паролей и алгоритма хеша в штатный обработчик robox, настройка Result/Success/Fail URL в личном кабинете и обязательная проверка в тестовом режиме. Отдельного внимания требуют совпадение паролей и алгоритма, доступность Result URL и, при необходимости, корректная фискализация по 54-ФЗ.
Если магазин уже работает с 1С, важно не разорвать обмен статусами заказов и остатками. Мы в B2Bsite подключаем платёжные системы под ключ, настраиваем фискализацию и берём магазин на поддержку — чтобы оплаты доходили, а заказы корректно обновлялись во всех системах.
Частые вопросы
Нужен ли отдельный договор эквайринга с банком для Robokassa?
Нет. Robokassa — агрегатор, расчёты идут через неё, поэтому отдельный договор эквайринга с банком не требуется. Достаточно заключить договор с самим сервисом.
Чем отличаются Пароль #1 и Пароль #2?
Пароль #1 участвует в подписи исходящего платежа, который формирует Битрикс. Пароль #2 нужен для проверки подписи в уведомлении на Result URL. Значения должны совпадать с настройками в личном кабинете.
Почему заказ оплачен, но в Битрикс числится неоплаченным?
Чаще всего Result URL недоступен извне или не совпадает метод вызова (GET/POST). Проверьте доступность адреса по HTTPS без авторизации и метод отправки в кабинете Robokassa.
Как включить тестовый режим?
В карточке платёжной системы включите тестовый режим и заполните тестовые Пароль #1 и Пароль #2. Реальные деньги при этом не списываются, оплата эмулируется на стороне Robokassa.
Какой алгоритм хеширования выбрать?
Подойдёт любой из поддерживаемых (MD5, SHA-256 и старше), главное — чтобы он был одинаковым в личном кабинете Robokassa и в настройках обработчика Битрикс. Для новых магазинов предпочтительнее SHA-256.
Кто выбивает онлайн-чек по 54-ФЗ?
Чек может формировать сама Robokassa (передаётся параметр Receipt) либо ваша касса, подключённая через модуль ККМ в Битрикс. Одновременно два источника чека на один заказ включать нельзя.
Что делать при ошибке подписи (wrong signature)?
Сверьте оба пароля и алгоритм хеша в кабинете и в карточке платёжной системы. Расхождение хотя бы в одном символе или в алгоритме приводит к несовпадению контрольной суммы.
Можно ли использовать Robokassa вместе с другими платёжными системами?
Да. Robokassa добавляется как отдельная платёжная система и привязывается к нужным типам плательщиков, поэтому её можно предлагать наряду с эквайрингом, СБП или оплатой по счёту.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.