Обмін статусами оплати між 1С і 1С-Бітрікс — завдання, яке не можна вирішити стандартними засобами без доопрацювань. Типова ситуація: покупець оплатив замовлення через еквайринг, у Бітрікс статус змінився, а 1С про це не знає. Або навпаки — у 1С провели оплату за рахунком, а на сайті висить «очікує оплати». Бухгалтери витрачають години на ручне звіряння, замовлення не резервуються вчасно, покупці не отримують сповіщень. Ми налаштовуємо автоматичну синхронізацію за кожним сценарієм: онлайн-еквайринг, оплата за рахунком, готівка при отриманні. Розглянемо технічні деталі передачі статусів, покажемо кейс із практики та розповімо про типові помилки. Наша команда займається інтеграціями більше 7 років і реалізувала понад 50 проєктів із двонаправленим обміном.
Основні сценарії оплати
| Сценарій | Джерело оплати | Напрямок синхронізації | Складність |
|---|---|---|---|
| Онлайн-оплата на сайті | Еквайринг (Сбер, Тінькофф, ЮKassa) | Бітрікс → 1С | Низька |
| Оплата за рахунком (B2B) | Банківська виписка | 1С → Бітрікс | Середня |
| Оплата готівкою при отриманні | Кур'єр/ПВЗ | Залежить від схеми | Висока |
Автоматична синхронізація через регламентне завдання в 10 разів швидша за ручне рознесення — це підтверджує наша практика.
Як передати статус оплати з Бітрікс в 1С?
При успішній оплаті в Бітрікс створюється платіж (Bitrix\Sale\Payment) з PAID = Y. При наступному обміні замовлень цей статус передається в XML:
<Документ> <Ид>замовлення-guid</Ид> <Оплачен>true</Оплачен> <СуммаОплаты>4500.00</СуммаОплаты> <ДатаОплаты>сьогоднішня_дата</ДатаОплаты> </Документ> У 1С при імпорті замовлення з <Оплачен>true</Оплачен> можна налаштувати автоматичне створення документа «Надходження грошових коштів» (для 1С:Бухгалтерія) або операції в регістрі взаєморозрахунків (для 1С:УТ). Це автоматизує рознесення онлайн-платежів і знімає з бухгалтера рутину. Докладніше про формат обміну читайте в офіційній документації CommerceML.
Як передати статус оплати з 1С в Бітрікс?
Коли банківська виписка рознесена в 1С і документ «Надходження» проведено, потрібно оновити замовлення в Бітрікс.
Механізм: при зміні статусу документа замовлення в 1С (або при проведенні надходження грошей) позначаємо замовлення як «Оплачено». При наступному обміні 1С надсилає оновлений статус.
На стороні Бітрікс обробник оновлення замовлення:
Приклад коду
```php // При отриманні оновлення замовлення з 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, що оновлюється при кожному обміні.
Налаштування часткової оплати включає наступні кроки:
- Визначте, які замовлення допускають часткову оплату (наприклад, B2B-клієнти).
- Налаштуйте в 1С формування декількох платежів по одному замовленню.
- Реалізуйте в Бітрікс оновлення єдиного платежу з сумою, що дорівнює сумі всіх надходжень.
Синхронізація повернень
Повернення грошей — критичний випадок. Якщо повернення ініційовано в 1С, потрібно повідомити Бітрікс, щоб оновити статус замовлення, запустити повернення через еквайринг і надіслати сповіщення покупцю. Якщо повернення ініційовано через еквайринг (чарджбек), Бітрікс отримує сповіщення, статус платежу змінюється на «Повернено» — це потрібно передати в 1С для створення документа повернення. Двостороння синхронізація повернень усуває розбіжності в обліку.
Кейс: синхронізація оплати в реальному часі
У нашого клієнта — інтернет-магазин з високою часткою B2B (60% замовлень оплачуються за рахунком через банк). Проблема: замовлення в 1С переходило в статус «Оплачено» тільки після ручного рознесення виписки (1–2 дні). Покупець бачив неактуальний статус. Ми налаштували автоматичне завантаження банківської виписки в 1С через сервіс «1С-ДиректБанк». Виписка завантажується і автоматично розноситься раз на 30 хвилин. Після рознесення регламентне завдання запускає обмін з Бітрікс, оновлює статус замовлення. Затримка від надходження платежу до оновлення статусу на сайті — 30–60 хвилин. Покупець отримує email про підтвердження оплати без участі менеджера. Додатково при надходженні оплати в Бітрікс автоматично запускається резервування товару на складі в 1С.
Що входить у налаштування обміну
| Етап | Тривалість | Опис |
|---|---|---|
| Аудит | від 1 дня | Аналіз поточної схеми обміну, виявлення невідповідностей |
| Проектування | від 2 днів | Розробка архітектури синхронізації для ваших сценаріїв |
| Реалізація | від 3 днів | Написання обробників, налаштування правил обміну |
| Тестування | від 1 дня | Покриття всіх кейсів: онлайн-оплата, рахунок, повернення |
| Деплой | від 1 дня | Розгортання на бойовому сервері, передача документації |
У результаті ви отримуєте: налаштований обмін статусами, документацію за схемою та навчання ваших співробітників. Вартість розраховується індивідуально. Гарантуємо стабільну синхронізацію при будь-яких навантаженнях.
Отримайте консультацію щодо вашого проєкту — оцінимо терміни та складність. Замовте налаштування обміну статусами, і ваша бухгалтерія забуде про ручне звіряння.







