Интеграция 1С-Битрикс с платёжной системой Сбербанк Онлайн

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

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

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1357
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    943
  • 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
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    829
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    731
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1074

Интеграция 1С-Битрикс с платёжной системой Сбербанк Онлайн

Мы часто сталкиваемся с такой ситуацией: интернет-магазин на Битрикс работает, заказы идут, но покупатели звонят и просят «выставить счёт через Сбер» — потому что не видят нужной кнопки на странице оплаты. Подключение Сбербанк Онлайн к Битрикс закрывает этот запрос и попутно вскрывает несколько технических нюансов, которые на этапе «просто установим модуль» не очевидны. В нашей практике каждый третий клиент приходит с этой болью — отсутствием платёжного метода, который используют 60% покупателей. Мы уже провели более 50 интеграций платёжных систем, поэтому разберём все подводные камни.

Почему готовый модуль не всегда решает проблему?

Официальный модуль sberbank.ecom закрывает 80% типовых сценариев, но когда нужна нестандартная логика — например, интеграция с 1С для автоматической смены статусов или двухстадийная оплата для предзаказов — готовое решение становится узким местом. Сравним: готовый модуль устанавливается за 30 минут, кастомный требует 3–5 дней, но даёт полный контроль над обработкой платежей. Соотношение скорости и гибкости — примерно 10:1.

Как работает платёжный шлюз Сбербанка

Сбербанк Онлайн работает через REST API эквайринга (securepayments.sberbank.ru/payment/rest/ для боевой среды, 3dsec.sberbank.ru/payment/rest/ для тестовой). Схема взаимодействия:

  1. Магазин вызывает register.do — регистрирует заказ в системе Сбербанка, получает orderId и formUrl
  2. Покупателя редиректят на formUrl — страницу оплаты Сбербанка
  3. После оплаты Сбербанк перенаправляет покупателя на returnUrl и отправляет нотификацию на failUrl или выполняет callback
  4. Магазин вызывает getOrderStatus.do для финальной проверки статуса

Критически важно не полагаться только на returnUrl для подтверждения оплаты — покупатель может закрыть вкладку после оплаты, не дождавшись редиректа. Всегда нужен callback или периодический опрос getOrderStatus.do. Источник: документация Сбербанк Эквайринг

Когда нужна кастомная интеграция?

В экосистеме Битрикс Сбербанк Онлайн реализуется как обработчик платёжной системы модуля sale. Есть два пути.

Готовый модуль из Маркетплейса. Официальный модуль от Сбербанка (sberbank.ecom) доступен на marketplace.1c-bitrix.ru. После установки в разделе Магазин → Настройки → Платёжные системы появляется новый тип с полями userName, password (или token для новой схемы аутентификации). Модуль регистрирует обработчик \Sale\Handlers\PaySystem\SberbankHandler и webhook-URL вида /bitrix/tools/sale_ps_result.php.

Кастомный обработчик нужен, когда: используется нестандартная схема заказов, нужна интеграция с 1С для автоматической смены статусов, или готовый модуль конфликтует с другими компонентами. Размещается в /local/php_interface/include/sale_payment/sberbank_custom/, структура стандартная для Sale PaySystem.

Ключевые параметры при регистрации заказа

Вызов register.do требует обязательных параметров:

Параметр Описание Тип
orderNumber Уникальный номер в системе магазина (обычно BXORDER_{ID}) string
amount Сумма в копейках (распространённая ошибка — передавать в рублях) integer
returnUrl URL возврата после оплаты string
currency Код валюты (643 для рублей по ISO 4217) integer

Для работы фискализации (54-ФЗ) в запрос добавляется объект orderBundle с товарными позициями, ставками НДС и признаками предмета расчёта. Без orderBundle касса Сбербанка не сформирует чек — это частая причина претензий от налоговой к магазинам, которые «вроде бы подключили онлайн-кассу». Подробнее о требованиях — в Wikipedia.

Обработка уведомлений и статусы

Сбербанк отправляет POST-уведомление на checkUrl при изменении статуса транзакции. В Битрикс обработчик callback должен:

  1. Принять POST, распарсить mdOrder и orderNumber
  2. Вызвать getOrderStatus.do для получения актуального статуса (не доверять данным из callback без верификации)
  3. При статусе 2 (оплачен) вызвать $payment->setPaid('Y') и сохранить транзакцию
  4. Вернуть ответ {"errorCode": 0} — иначе Сбербанк будет повторять попытки

Таблица статусов getOrderStatus.do:

Код Значение Действие
0 Заказ зарегистрирован Ожидать
1 Предавторизована сумма Для двухстадийных платежей
2 Оплачен Подтвердить в Битрикс
3 Авторизация отменена Отменить заказ
4 Возврат выполнен Обновить статус
6 Авторизация отклонена Уведомить покупателя

Двухстадийная оплата

Что такое двухстадийная оплата и когда она нужна?

Для товаров с отложенной отгрузкой (предзаказ, склад) используется двухстадийная схема: registerPreAuth.do блокирует сумму на карте, deposit.do — списывает по факту отгрузки. Сбербанк предоставляет оба метода, но двухстадийка требует отдельного подключения в договоре эквайринга. В Битрикс это реализуется через разделение обработчика на два этапа и дополнительную кнопку «Подтвердить оплату» в административной части заказа. Подробнее о реализации — в документации Битрикс.

Как избежать дублирования платежей?

Из нашей практики: интернет-магазин электроники на современной версии Битрикс. После перехода с тестовой среды на боевую около 3% транзакций дублировались — покупатель платил один раз, в заказе фиксировались два платежа. Причина: обработчик returnUrl и callback приходили почти одновременно, оба успевали вызвать setPaid('Y'). Решение — добавить проверку $payment->isPaid() перед подтверждением и использовать блокировку через \Bitrix\Main\Application::getConnection()->lock() на время обработки транзакции.

Тестирование

Тестовая среда Сбербанка (3dsec.sberbank.ru) работает с тестовыми картами из документации. Обязательно проверьте:

  • Успешную оплату с подтверждением через callback
  • Отмену на странице оплаты (покупатель нажал «Назад»)
  • Таймаут сессии (по умолчанию 1200 секунд — Сбербанк отменяет незавершённые заказы)
  • Корректность формирования чека при включённой кассе

Что входит в работу?

  • Аудит текущей конфигурации Битрикс и платёжных методов
  • Настройка готового модуля или разработка кастомного обработчика
  • Интеграция с фискализацией (54-ФЗ) и кассой
  • Тестирование всех сценариев: успех, отказ, таймаут, дублирование
  • Документация по настройкам и контакты техподдержки Сбербанка

Сроки и стоимость

Сроки интеграции зависят от конфигурации: установка готового модуля без кассы — от 1 до 2 дней. Полная интеграция с 54-ФЗ, двухстадийной оплатой и подстройкой под нестандартную структуру заказов — от 3 до 7 рабочих дней. Стоимость рассчитывается индивидуально. Мы работаем с Битрикс более 5 лет, реализовали 50+ интеграций платёжных систем — это позволяет гарантировать качество.

Свяжитесь с нами, чтобы обсудить детали вашей интеграции. Мы подготовим решение под ваш бизнес и учтём все особенности.

Как избежать типичных ошибок при подключении платёжных систем на 1С-Битрикс

Самая частая ошибка при интеграции — забыть про callback. Покупатель оплатил заказ, деньги списались, а статус в b_sale_order не обновился: менеджер видит «Ожидание оплаты» и начинает звонить клиенту. Причина — неправильный URL в настройках шлюза или обработчик, падающий с 500 при нестандартной структуре ответа. Мы предлагаем услуги по подключению платёжных систем на 1С-Битрикс с полным тестированием всех сценариев: успешная оплата, отказ, таймаут, частичный возврат, повторный callback.

Почему callback-уведомления критичны?

Каждый платёжный шлюз присылает уведомление на ваш сервер. Если обработчик не гарантирует идемпотентность — двойной вызов приведёт к двойному списанию. Мы всегда реализуем проверку по ID уведомления (external_id) и блокировку повторной обработки в \Bitrix\Sale\Order. Также критично настроить URL callback в личном кабинете агрегатора — /bitrix/tools/sale_ps_result.php для штатного модуля. Если используете кастомный обработчик, проверяем, что он отдаёт HTTP 200 даже при ошибке параметров (шлюз не должен повторять запрос бесконечно).

Пример простого обработчика callback с проверкой подписи
use Bitrix\Sale\Order;
use Bitrix\Main\Application;

// Получаем данные уведомления
$data = Application::getInstance()->getContext()->getRequest()->toArray();
// Проверяем подпись (зависит от агрегатора)
if (!checkSignature($data, 'SECRET_KEY')) {
    die('FAIL');
}
// Ищем заказ по внешнему ID
$order = Order::loadByExternalId((int)$data['order_number']);
if ($order && $order->isPaid() === false) {
    $order->setField('PAYED', 'Y');
    $order->save();
}
echo 'OK';

Как выбрать платёжный агрегатор для 1С-Битрикс?

Выбор агрегатора зависит от географии покупателей, среднего чека и потребности в рассрочке. Для России базовый набор — ЮKassa (все основные методы, фискализация из коробки) и CloudPayments (виджет на странице без редиректа, Apple Pay). Если работаете с крупными корпоративными клиентами — добавьте Сбербанк (SberPay, СБП). Для международных продаж — Stripe или PayPal. Мы часто используем двухуровневую схему: основной агрегатор + резервный (автопереключение при падении).

Какие платёжные агрегаторы и способы оплаты мы используем

ЮKassa

Один договор — все основные способы: карты Visa/MasterCard/МИР, ЮMoney, SberPay, интернет-банки, рассрочка. Фискализация по 54-ФЗ из коробки (через модуль sale). Штатный обработчик /bitrix/modules/sale/handlers/paysystem/yandexpay/ покрывает базовые сценарии. Для холдирования (двухстадийная оплата), подписок или сплит-платежей — кастомная интеграция через YooKassa API v3. Callback настраиваем на /bitrix/tools/sale_ps_result.php, парсим notification и обновляем \Bitrix\Sale\Order через setField('PAYED', 'Y').

CloudPayments

Заточен на конверсию: виджет оплаты прямо на странице чекаута, без редиректа на внешний домен. Покупатель не уходит с сайта — процент отказов на этапе оплаты падает. Поддерживает рекуррентные платежи (токенизация карты через cryptogram), Apple Pay и Google Pay. 3D Secure с интеллектуальной маршрутизацией — запрашивается только при высоком риске фрода. Интеграция с Битрикс — через REST API CloudPayments и кастомный обработчик в модуле sale.

Тинькофф Оплата

API-интеграция через TinkoffPaymentAPI (готовый модуль или ручная реализация). QR-код для оплаты через приложение, рассрочка «Тинькофф Кредит» — критично для дорогих товаров. Частичные возвраты через метод Cancel — без звонков в банк, всё из админки Битрикс.

Сбербанк (SberPay и СБП)

SberPay — оплата по push-уведомлению или QR, СБП — комиссия 0.4–0.7% против 1.5–2.5% по картам. На объёме это ощутимая экономия. Холдирование через API registerPreAuth / deposit. Учитываем, что для SberPay требуется подписание отдельного договора с банком.

Apple Pay и Google Pay

Оплата в два касания, без ввода данных карты. Подключаются через агрегатор (ЮKassa, CloudPayments, Тинькофф). Важные нюансы:

  • Apple Pay требует верификации домена: файл apple-developer-merchantid-domain-association в /.well-known/. Без него кнопка не появится.
  • Размещение кнопок строго по гайдлайнам Apple и Google — иначе отказ в ревью.
  • Фоллбэк на стандартную форму оплаты, если устройство не поддерживает бесконтактную оплату.
Способ оплаты Устройства Браузеры
Apple Pay iPhone, iPad, Mac Safari
Google Pay Android, Chrome Chrome, Firefox, Edge
Samsung Pay Samsung Galaxy Samsung Internet

Рассрочка, BNPL и работа с 54-ФЗ

Если средний чек от 30 000 ₽ и конверсия проседает — рассрочка снимает ценовой барьер. Мы подключаем:

  • Тинькофф Рассрочка (3–24 месяца)
  • Покупай со Сбером
  • Мокка / Долями — BNPL: 4 платежа, 0% для покупателя

Интеграция: виджет с расчётом ежемесячного платежа на карточке товара («от 2 500 ₽/мес»), передача данных заказа в банк через API, обработка статусов (одобрение, отказ, ожидание документов) в обработчиках OnSaleStatusOrder.

Фискализация по 54-ФЗ — обязательное требование. Штраф за отсутствие чека — до 100% от суммы расчёта. В соответствии с Федеральным законом № 54-ФЗ кассовый чек должен быть отправлен покупателю в электронной форме. Подключаем АТОЛ Онлайн, Orange Data, Модуль.Касса, Эвотор, Штрих-М. Настройка в Битрикс — раздел «Кассы» в модуле sale:

  • Ставка НДС, предмет и способ расчёта — ошибка в любом поле может привести к штрафу при проверке.
  • Чеки при предоплате и частичной оплате (два чека: при оплате и при отгрузке).
  • Чеки возврата при отмене через \Bitrix\Sale\Cashbox\Cashbox::addChecks().
  • Мониторинг: если чек не ушёл — алерт менеджеру.

При торговле обувью, одеждой, парфюмерией обязательна передача кодов маркировки в чеке. Интеграция с «Честный ЗНАК», сканирование DataMatrix при сборке заказа, автоматический вывод из оборота при продаже через \Bitrix\Catalog\Product\Marking.

Сопровождение платежей: возвраты, мультивалюта, безопасность

Возвраты

Полный и частичный возврат без звонков в банк — через API агрегатора (refund / cancel). Чек возврата формируется автоматически, обновляется статус заказа, пересчитывается сумма, уведомляется покупатель. Сроки: электронные кошельки и СБП — 1–3 дня, банковская карта — до 30 рабочих дней (зависит от банка-эмитента).

Мультивалюта

Типы цен в b_catalog_price для каждой валюты, курсы через API ЦБ (\Bitrix\Currency\CurrencyManager::updateCBRFRates()) или ручной ввод. Конвертация на уровне каталога — покупатель видит цены в своей валюте. Для приёма долларов/евро подключаем Stripe, PayPal. Учитываем комиссии за конвертацию при расчёте маржинальности.

Безопасность

Данные карт обрабатываются на стороне сертифицированного шлюза (PCI DSS) — номер карты никогда не проходит через ваш сервер. Антифрод на уровне агрегатора. Логирование всех событий в b_sale_order_change для аудита. Мониторинг аномалий: скачок транзакций, нетипичная география — алерт.

Как мы работаем и ориентировочные сроки

  1. Анализ — какие способы оплаты нужны, рынки, объём транзакций, текущий агрегатор.
  2. Подбор решений — иногда два агрегатора лучше одного: ЮKassa как основной, CloudPayments как резерв — при падении одного трафик уходит на второй.
  3. Интеграция — тестируем каждый сценарий: успешная оплата, отказ 3DS, таймаут шлюза, двойной callback, частичный возврат.
  4. Фискализация — онлайн-касса, проверка корректности чеков на тестовых заказах.
  5. Мониторинг — алерты при сбоях шлюза, дашборд конверсии на этапе оплаты.
Задача Ориентировочный срок
Подключение одной платёжной системы 2–5 дней
Комплексная настройка платежей (несколько агрегаторов) 1–2 недели
Подключение онлайн-кассы (54-ФЗ) 3–5 дней
Интеграция рассрочки 3–5 дней
Настройка мультивалютности 1 неделя
Полная платёжная инфраструктура 3–5 недель

Что входит в работу

  • Полная настройка выбранных платёжных систем в 1С-Битрикс: модули, обработчики, callback, тестирование.
  • Документация по интеграции (схема работы шлюзов, описание обработчиков, логи).
  • Обучение вашего менеджера работе с платёжными модулями и возвратами.
  • Техническая поддержка на этапе запуска и первые 2 недели эксплуатации.
  • Мониторинг — настраиваем алерты на ошибки и падение конверсии.

Все работы выполняются сертифицированными разработчиками 1С-Битрикс. Гарантируем работоспособность каждого сценария. Для быстрой оценки вашего проекта получите консультацию — просто оставьте заявку на сайте. Закажите интеграцию платёжных систем под ключ с фискализацией и защитой данных. Свяжитесь с нами, чтобы подобрать оптимальное решение для вашего бизнеса — мы поможем с выбором агрегатора и реализуем полный цикл интеграции.