Настройка обмена статусами оплаты между 1С и 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка обмена статусами оплаты между 1С и 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка обмена статусами оплаты между 1С и 1С-Битрикс

Статус оплаты заказа — один из главных источников конфликтов при интеграции 1С и Битрикс. Оплата может прийти в 1С через банковскую выписку, а Битрикс об этом не узнает. Или наоборот: платёж прошёл через эквайринг на сайте, попал в Битрикс, а в 1С документ не создан. Синхронизация статусов оплаты устраняет эти расхождения.

Откуда приходит информация об оплате

Понять архитектуру синхронизации невозможно без понимания того, где фактически фиксируется оплата:

Сценарий 1: Онлайн-оплата на сайте. Покупатель платит картой через эквайринг (Сбербанк, Тинькофф, ЮКасса). Платёж фиксируется в Битрикс через коллбэк платёжной системы. Нужно передать факт оплаты в 1С — чтобы бухгалтер не разносил банковскую выписку вручную.

Сценарий 2: Оплата по счёту (B2B). Покупатель получает счёт (из 1С или с сайта), платит через банк. Платёж приходит в 1С через банковскую выписку (ПоступлениеДенежныхСредств). Нужно передать факт оплаты из 1С в Битрикс — чтобы заказ сменил статус и покупатель получил уведомление.

Сценарий 3: Оплата наличными при получении. Курьер или пункт выдачи фиксирует оплату. Зависит от системы: либо через Битрикс (приложение курьера), либо через 1С (кассовый документ).

Для каждого сценария — своя логика синхронизации.

Передача онлайн-оплаты из Битрикс в 1С

При успешной оплате в Битрикс создаётся платёж (Bitrix\Sale\Payment) с PAID = Y. При следующем обмене заказов этот статус передаётся в XML:

<Документ>
  <Ид>заказ-guid</Ид>
  <Оплачен>true</Оплачен>
  <СуммаОплаты>4500.00</СуммаОплаты>
  <ДатаОплаты>2024-03-15T14:30:00</ДатаОплаты>
</Документ>

В 1С при импорте заказа с <Оплачен>true</Оплачен> можно настроить автоматическое создание документа «Поступление денежных средств» (для 1С:Бухгалтерия) или операции в регистре взаиморасчётов (для 1С:УТ).

Это автоматизирует разноску онлайн-платежей и снимает с бухгалтера рутину.

Передача статуса оплаты из 1С в Битрикс

Когда банковская выписка разнесена в 1С и документ «Поступление» проведён — нужно обновить заказ в Битрикс.

Механизм: при изменении статуса документа заказа в 1С (или при проведении поступления денег) — отмечаем заказ как «Оплачен». При следующем обмене заказов 1С отправляет обновлённый статус в Битрикс.

На стороне Битрикс обработчик обновления заказа из 1С:

// При получении обновления заказа из 1С
if ($arOrder['PAID'] === 'Y') {
    $payment = $order->getPaymentCollection()->getItemByIndex(0);
    if ($payment && $payment->isPaid() === false) {
        $payment->setPaid('Y');
        $order->save();
        // Запуск автоматических событий: email покупателю, уведомление менеджеру
    }
}

Частичная оплата

В B2B-сценариях часто встречается частичная оплата: аванс 30% → остаток 70%. В 1С это два документа поступления. В Битрикс — один заказ с несколькими платежами.

При передаче частичной оплаты из 1С в Битрикс: можно создавать отдельные платежи для каждого поступления или обновлять единственный платёж с нарастающей суммой. Второй вариант проще в реализации.

Индикация для покупателя: «Оплачено: 1 500 из 5 000 руб. (30%)» — через кастомное свойство заказа PAID_AMOUNT, обновляемое при каждом обмене.

Возвраты: синхронизация в обе стороны

Возврат денег покупателю — ещё один критичный случай. Если возврат инициирован в 1С (менеджер выписал возврат) — об этом нужно уведомить Битрикс, чтобы:

  • Обновить статус заказа
  • Запустить процесс возврата через эквайринг (если оплата была онлайн)
  • Отправить покупателю уведомление

Если возврат инициирован через эквайринг (покупатель сделал чарджбэк) — Битрикс получает уведомление от платёжной системы, статус платежа меняется на «Возвращён», это нужно передать в 1С для создания документа возврата.

Кейс: синхронизация оплаты в реальном времени

Интернет-магазин с высокой долей B2B: 60% заказов оплачиваются по счёту через банк. Проблема: заказ в 1С переходил в статус «Оплачен» только после ручной разноски выписки (1–2 дня). Покупатель видел неактуальный статус.

Решение: настроили автоматическую загрузку банковской выписки в 1С (через сервис «1С-ДиректБанк»). Выписка загружается и автоматически разносится раз в 30 минут. После разноски — регламентное задание запускает обмен с Битрикс, обновляет статус заказа.

Задержка от поступления платежа до обновления статуса на сайте: 30–60 минут. Покупатель получает email о подтверждении оплаты без участия менеджера.

Дополнительно: при поступлении оплаты в Битрикс — автоматически запускается резервирование товара на складе в 1С (через событие изменения статуса заказа, которое вызывает API 1С).