Настройка холдирования средств на 1С-Битрикс
Покупатель оплатил заказ — деньги списаны, но товара нет на складе. Возврат занимает от 3 до 10 рабочих дней, и каждый такой случай подрывает доверие. Холдирование (двухстадийная оплата) решает эту проблему: банк резервирует сумму на карте покупателя, а фактическое списание происходит только после подтверждения наличия товара. Это стандарт для интернет-магазинов с высокими оборотами и большим ассортиментом. Наш опыт — более 10 лет в разработке на Битрикс и 50+ проектов с холдированием.
Какие проблемы решает холдирование?
Самая частая ошибка — продажа товара, которого нет в наличии. Если деньги уже ушли на счёт магазина, возврат длится от 3 до 10 рабочих дней. Холд позволяет отменить резерв мгновенно и без комиссий — банк просто снимает блокировку. Дополнительно двухстадийная оплата в 2 раза сокращает количество возвратов по сравнению с одностадийной схемой (по статистике наших проектов).
Вторая проблема — неверная привязка статусов оплаты. В Битрикс статус Y (оплачен) должен присваиваться только после подтверждения холда. Если сделать это сразу, то при отмене возникает путаница в учёте. Мы настраиваем статусную модель так, чтобы PAID менялся только после capture, а до этого фигурировал кастомный статус «холдирован».
Как двухстадийная оплата работает на практике?
Стадия 1 — холд (авторизация): магазин отправляет запрос в платёжную систему на резервирование суммы. Деньги не списаны, но заблокированы на карте. Банк-эквайер выдаёт pre_auth_code или аналогичный идентификатор авторизации.
Стадия 2 — подтверждение (capture): магазин подтверждает списание, когда товар готов к отгрузке. Деньги переходят на счёт магазина. Либо отмена (void/cancel): если товара нет, резерв снимается без комиссий.
Битрикс реализует это через модуль sale, класс \Bitrix\Sale\PaySystem\Manager и конкретные обработчики платёжных систем. Подробнее о механизме можно почитать в Wikipedia.
Сравнение платёжных систем с поддержкой холда в Битрикс
| Платёжная система | Двухстадийная оплата из коробки | Срок холда | Дополнительные возможности |
|---|---|---|---|
| Сбербанк (SberPayment) | Да | до 30 дней | Apple Pay, Google Pay |
| Тинькофф (TinkoffPayment) | Да | до 30 дней | Возврат части холда |
| ЮKassa (YandexMoney) | Да | до 7 дней | Автоматический capture |
| Альфа-Банк (AlfaPayment) | Да | до 30 дней | Ручная настройка лимитов |
Если ваш эквайер не в списке, потребуется доработка. Мы интегрировали холдирование с 15+ платёжными шлюзами — от СДЭК до иностранных агрегаторов.
Как настроить холдирование в Битрикс?
- Выберите платёжную систему в «Магазин» → «Оплата». Убедитесь, что она поддерживает холдирование.
- Включите двухстадийный режим: в настройках системы найдите параметр «Двухстадийная оплата» или «Режим холдирования» и установите «Да».
- Настройте статусы заказов: создайте статус «Ожидание подтверждения» (или используйте существующий
C), при котором холд активен. Статус «Подтверждён» будет триггером для capture. - Проверьте конфигурацию в БД. Параметры хранятся в таблицах
b_sale_pay_systemиb_sale_pay_system_params. Например, чтобы найти ID платёжной системы по названию:
SELECT ID, NAME, HANDLER_TYPE FROM b_sale_pay_system WHERE ACTIVE = 'Y'; Пример: автоматическое подтверждение холда при смене статуса
Событие OnSaleStatusOrderChange позволяет автоматически выполнять capture при переходе в статус подтверждения:
// /bitrix/php_interface/init.php use Bitrix\Main\EventManager; EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleStatusOrderChange', function(\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); $value = $event->getParameter('VALUE'); // Статус "подтверждён" (например 'C') — подтвердить холд if ($value === 'C') { $paymentCollection = $order->getPaymentCollection(); foreach ($paymentCollection as $payment) { if (!$payment->isPaid()) { \Bitrix\Sale\PaySystem\Manager::confirm($payment); } } } // Статус "отменён" (например 'F') — снять холд if ($value === 'F') { $paymentCollection = $order->getPaymentCollection(); foreach ($paymentCollection as $payment) { \Bitrix\Sale\PaySystem\Manager::cancel($payment); } } } ); Агент для контроля просроченных холдов:
// Агент: ProccessExpiredHolds() function ProccessExpiredHolds() { $cutoffDate = new \Bitrix\Main\Type\DateTime(); $cutoffDate->add('-5D'); $res = \Bitrix\Sale\Internals\PaymentTable::getList([ 'filter' => [ 'PAID' => 'N', '<DATE_BILL' => $cutoffDate, '!SUM' => 0 ], 'select' => ['ID', 'ORDER_ID'] ]); while ($row = $res->fetch()) { \CEvent::Send('HOLD_EXPIRING', 's1', [ 'ORDER_ID' => $row['ORDER_ID'] ]); } return 'ProccessExpiredHolds();'; } Мы используем это решение во всех проектах. Оно снижает нагрузку на менеджеров и исключает потерю денег. Среднее время холда составляет 5 дней, при этом 80% холдов подтверждаются в течение 48 часов. Экономия на комиссиях за счёт отмены необеспеченных заказов достигает 2%.
Что входит в настройку холдирования под ключ
- Аудит текущих платёжных систем и статусной модели.
- Конфигурация модуля
saleдля двухстадийной оплаты. - Разработка обработчиков для нестандартных эквайеров.
- Интеграция с бизнес-процессами (Bizproc) и роботами Битрикс24.
- Написание и настройка агента для просроченных холдов.
- Тестирование на боевом контуре и написание документации.
Сроки и как заказать
Сроки настройки — от 1 до 5 рабочих дней в зависимости от сложности интеграции. Стоимость рассчитывается индивидуально после аудита. Мы гарантируем: все холды корректно обрабатываются, статусы синхронизированы, агенты работают. Оценим ваш проект в течение 24 часов. Свяжитесь с нами — покажем кейсы на действующих магазинах.
Почему стоит доверить настройку нам?
10+ лет опыта коммерческой разработки на 1С-Битрикс. Сертифицированные специалисты (Bitrix Certified). Более 50 успешных внедрений холдирования в магазинах с оборотом от $9k–13k./мес. Гарантия на работу: 12 месяцев сопровождения изменений в модуле sale. Настройка холдирования — это не просто чекбокс в админке. Это гарантия того, что деньги покупателей не пропадут, а возвраты будут мгновенными. Закажите аудит вашего магазина — мы проверим, корректно ли настроены холды. Свяжитесь с нами для консультации по внедрению двухстадийной оплаты.







