Интеграция 1С и Робокасса под ключ

Интернет-магазин принимает оплату через Робокассу, но каждый платёж бухгалтер вносит в 1С вручную - это 30-50 операций в день, ошибки в реквизитах и расхождения в отчётности. Без интеграции теряются данные о статусах платежей, чеки не привязываются к заказам, а сверка занимает часы вместо минут.

Как мы это делаем

  1. Аудит и проектирование связки. Изучаем конфигурацию 1С (УТ, УНФ, Бухгалтерия или кастомная), версию API Робокассы и логику бизнес-процесса - определяем точки входа и выхода данных, фиксируем маппинг полей в техническом задании.
  2. Настройка webhook и API-соединения. Регистрируем endpoint для приёма уведомлений от Робокассы, настраиваем авторизацию по подписи (HMAC-SHA256), прописываем параметры запросов к API 1С или внешней обработке.
  3. Построение сценария в n8n. Создаём автоматизированный workflow: триггер по событию (новый платёж, возврат, ошибка) - трансформация данных - запись в 1С через REST или COM-соединение. Каждый шаг логируется.
  4. Маппинг полей и тестирование. Прогоняем не менее 20 тестовых транзакций: успешная оплата, частичный возврат, дублирующий запрос, таймаут. Проверяем корректность фискальных данных и соответствие 54-ФЗ.
  5. Мониторинг и обработка ошибок. Подключаем алертинг - при сбое сценарий повторяет попытку до 3 раз, затем отправляет уведомление в Telegram или на email. Передаём документацию и инструкцию по управлению интеграцией.

Что синхронизировать между 1С и Робокасса

Для корректного отражения платежей и фискализации в 1С необходимо настроить маппинг полей между объектами 1С и методами API Робокассы (через протокол Merchant API и Fiscal API):

  • Сумма заказа 1С (Документ "Заказ клиента", поле СуммаДокумента) → Робокасса (Метод /Merchant/Operation/Init, параметр OutSum).
  • Идентификатор заказа 1С (Поле Номер или GUID) → Робокасса (Параметр InvId в запросе на создание платежа).
  • Email покупателя 1С (Справочник "Контрагенты", поле Email) → Робокасса (Параметр Email в JSON-объекте Receipt для Fiscal API).
  • Номенклатура 1С (Справочник "Номенклатура", поля Наименование, Цена) → Робокасса (Массив Items в структуре Receipt, поля Name, Price).
  • Статус оплаты (Регистр накопления 1С) ← Робокасса (Метод /Merchant/OpState, параметр State — получение статуса транзакции).
  • Ставка НДС 1С (Поле СтавкаНДС) → Робокасса (Параметр Tax в структуре Receipt, значения none, vat0, vat10, vat20 и др.).

Технические детали интеграции 1С ↔ Робокасса

  • Направление синхронизации: Двусторонняя. Инициация платежа — из 1С в Робокассу (REST POST). Получение статуса — через Result URL (Push-уведомление от Робокассы в 1С) и метод /Merchant/OpState (Pull-запрос для сверки).
  • Формат данных: Обмен данными осуществляется строго в формате JSON. При работе с Fiscal API обязательна кодировка UTF-8.
  • Обработка конфликтов: Идентификация транзакций происходит по InvId. При получении события с уже обработанным InvId система 1С должна блокировать повторную проводку документа, используя проверку по GUID в регистре сведений "История транзакций".
  • Частота обновления: Рекомендуемый интервал опроса (polling) для незавершенных платежей — 1 раз в 15 минут через планировщик заданий 1С.
  • Обработка удалений: Метод /Merchant/OpState не поддерживает отмену платежей. Удаление заказа в 1С не влияет на платеж в Робокассе; при необходимости возврата средств используется метод /Fiscal/Refund.
  • Retry-логика: При получении HTTP-кодов 5xx или 429 (Rate Limit) реализовывается алгоритм экспоненциальной задержки: повторные попытки через 30с, 2м, 5м до успешного ответа или логирования ошибки в Журнал регистрации 1С.

Частые вопросы про 1С + Робокасса

Как настроить авторизацию API?
Для каждого магазина в Робокассе генерируются MerchantLogin и два пароля (Password 1 и 2). Они прописываются в константах 1С, а каждый запрос должен подписываться хеш-суммой MD5(OutSum:InvId:Password1).

Что делать, если сервер Робокассы недоступен?
Реализуйте очередь сообщений в 1С (регистр сведений "Очередь запросов"). Если API не отвечает, запись остается в очереди со статусом "К отправке" и повторно обрабатывается регламентным заданием после восстановления связи.

Есть ли лимиты на частоту запросов API?
Робокасса ограничивает количество запросов с одного IP. Рекомендуется не превышать частоту 1 запрос в секунду для методов OpState, чтобы избежать временной блокировки доступа к API.

Как предотвратить дублирование оплат?
Используйте уникальный InvId (номер заказа + префикс), который передается в Init. Робокасса не позволит создать повторный платеж с идентичным InvId для одного MerchantLogin.

Какова скорость прохождения данных между системами?
При использовании Push-уведомлений (Result URL) статус оплаты обновляется в 1С в течение 2–5 секунд после успешного завершения транзакции на стороне клиента.

Настроить связку 1С + Робокасса под ключ — flowframe.ru, от 40 000 ₽, срок 7-21 день.

Готов связать 1С с Робокасса?

Оставьте заявку — вернёмся в течение часа со сметой и планом работ.

Оставить заявку