Налаштування обміну статусами оплати між 1С та 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування обміну статусами оплати між 1С та 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування обміну статусами оплати між 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С).