Настройка СБП в 1С-Битрикс: как принимать платежи мгновенно

После сотен подключений карточного эквайринга к магазинам на 1С-Битрикс мы заметили закономерность: владельцы возвращаются через полгода с запросом на СБП. Причина очевидна — **комиссия 0,4–0,7%** против средних 2% у карт. **СБП в 3–5 раз выгоднее карт** — для магазина с оборотом $9k–13k в меся
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка СБП в 1С-Битрикс: как принимать платежи мгновенно
Простой
~1 день

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

Часто задаваемые вопросы

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

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

После сотен подключений карточного эквайринга к магазинам на 1С-Битрикс мы заметили закономерность: владельцы возвращаются через полгода с запросом на СБП. Причина очевидна — комиссия 0,4–0,7% против средних 2% у карт. СБП в 3–5 раз выгоднее карт — для магазина с оборотом $9k–13k в месяц экономия составляет до $160–230. И это не считая того, что деньги приходят за секунды, а не на следующий день. Техническая реализация проще, чем кажется: мы подготовили интеграцию с двумя популярными провайдерами — Тинькофф и ЮKacca. Оба предоставляют простые API и быстрый онбординг. Среднее время подключения — 1-2 дня.

Что такое СБП и как это работает

СБП — это межбанковская система мгновенных платежей Банка России, запущенная в 2019 году. Это прямой перевод между счетами покупателя и продавца без промежуточных платёжных систем. Покупатель сканирует QR-код или переходит по ссылке — оплата проходит без ввода карточных данных. Для интернет-магазинов СБП предоставляет преимущество снижения комиссии в 3–5 раз по сравнению с картами.

Сравнение СБП и карточного эквайринга

Параметр СБП Карточный эквайринг
Комиссия 0,4% – 0,7% 1,5% – 2,5%
Скорость зачисления Несколько секунд Следующий банковский день
Возврат Простой обратный перевод Через процессинг, 3–30 дней

Дополнительный плюс — увеличивается конверсия: по нашим оценкам, до 15% пользователей бросают корзину при виде формы ввода карты. СБП убирает этот барьер.

Интеграция СБП через Тинькофф

Тинькофф предоставляет два формата: ссылка (для мобильных) и QR-код (для десктопа). Этапы подключения:

  1. Получить терминальный ключ в личном кабинете Тинькофф.
  2. Создать платёжную сессию через API Init.
  3. Запросить QR-код через GetQr.
  4. Отобразить пользователю в зависимости от устройства.

Пример создания платёжной сессии и получения QR:

// Создание платёжной сессии $params = [ 'TerminalKey' => TINKOFF_TERMINAL, 'Amount' => (int)($order->getPrice() * 100), 'OrderId' => $order->getAccountNumber(), 'Description' => 'Заказ #' . $order->getAccountNumber(), 'NotificationURL' => 'https://shop.ru/bitrix/tools/sale_ps_result.php', 'PayType' => 'O', ]; $params['Token'] = tinkoffSign($params, TINKOFF_SECRET); $init = tinkoffPost('/v2/Init', $params); $paymentId = $init['PaymentId']; // Получение QR для СБП $qrParams = [ 'TerminalKey' => TINKOFF_TERMINAL, 'PaymentId' => $paymentId, 'DataType' => 'PAYLOAD', ]; $qrParams['Token'] = tinkoffSign($qrParams, TINKOFF_SECRET); $qr = tinkoffPost('/v2/GetQr', $qrParams); $sbpLink = $qr['Data']; 

Адаптивное отображение QR и ссылок

Следующий этап — показать пользователю правильный интерфейс. На мобильных устройствах лучше открывать банковское приложение по ссылке, на десктопе — QR-код. Проверяем user-agent и рендерим нужный элемент:

const isMobile = /Mobi|Android/i.test(navigator.userAgent); if (isMobile) { const btn = document.getElementById('sbp-btn'); btn.href = sbpLink; btn.style.display = 'block'; } else { const qr = new QRCode(document.getElementById('sbp-qr'), { text: sbpLink, width: 200, height: 200, }); document.getElementById('sbp-qr-block').style.display = 'block'; } // Polling статуса const poll = setInterval(async () => { const status = await fetch('/api/sbp-status.php?orderId=' + orderId) .then(r => r.json()); if (status.paid) { clearInterval(poll); location.href = '/payment/success/'; } }, 2000); 

Интеграция через ЮKacca

ЮKacca также поддерживает СБП. Пример создания платежа:

$payment = $client->createPayment([ 'amount' => ['value' => number_format($sum, 2, '.', ''), 'currency' => 'USD'], 'payment_method_data' => ['type' => 'sbp'], 'confirmation' => ['type' => 'qr'], 'capture' => true, 'description' => 'Заказ #' . $orderId, 'metadata' => ['order_id' => $orderId], ], uniqid('', true)); 

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

После оплаты банк отправляет POST-запрос на NotificationURL. Это уведомление содержит статус платежа и должно быть обработано корректно:

// Получение уведомления $json = file_get_contents('php://input'); $data = json_decode($json, true); // Проверка подписи $token = hash('sha256', $json . TINKOFF_SECRET); if ($token !== $_SERVER['HTTP_X_SIGNATURE']) { http_response_code(400); echo 'bad signature'; exit; } // Обновление статуса платежа в Битрикс if ($data['Status'] === 'CONFIRMED') { \Bitrix\Sale\PaymentCollection::setPaid($data['OrderId'], 'Y'); } 

Важно: никогда не полагайтесь только на callback. Реализуйте polling статуса (как в примере выше) — callback может не дойти из-за сетевых сбоев, но платёж уже прошёл.

Важные моменты: комиссия и фискализация

Для работы с СБП нужен отдельный продукт в банке — «Приём платежей через СБП». Ставки для e-commerce: 0,4% для физлиц, до 0,7% для юрлиц, что позволяет значительно сократить операционные расходы в сравнении с карточным эквайрингом. Фискализация СБП-платежей проходит по стандартному механизму: передаёте receipt с признаком payment_method = 'sbp' в ОФД. Отдельная онлайн-касса не требуется — используется тот же кассовый аппарат, что и для карт. При правильной настройке в Битрикс чеки отправляются автоматически при подтверждении платежа через webhook от банка.

Возвраты и отмены платежей

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

$refund = tinkoffPost('/v2/Refund', [ 'PaymentId' => $paymentId, 'TerminalKey' => TINKOFF_TERMINAL, ]); 

Частичные возвраты также поддерживаются — передайте сумму возврата отдельно от полной суммы платежа.

Подробнее о СБП на Wikipedia

Наш опыт и сроки подключения

Мы реализовали более 50 интеграций платёжных систем на 1С-Битрикс за последние годы. Сертифицированные специалисты Битрикс гарантируют стабильную работу под нагрузкой. Средние сроки:

Задача Срок
СБП через Тинькофф или ЮKacca 1–2 дня
Адаптивное отображение QR/ссылка 0.5 дня
Polling статуса 0.5 дня
Подключение эквайринга в банке 3–10 рабочих дней

Если вы хотите подключить СБП на своём проекте, свяжитесь с нами — мы бесплатно оценим объём работ и предложим оптимальное решение. Получите консультацию по внедрению СБП уже сегодня.