Интеграция 1С-Битрикс с Покупай со Сбером
Сервис «Покупай со Сбером» (ранее «Сбербанк Кредит», он же SberPay рассрочка) позволяет покупателю оформить рассрочку или кредит прямо на странице оформления заказа. Для интернет-магазина на 1С-Битрикс это дополнительная платёжная система, которая подключается к модулю sale. Аудитория Сбера — крупнейшая клиентская база среди российских банков, поэтому для магазинов с чеком от 3 000 рублей интеграция имеет прямой экономический смысл.
Принцип работы
Механика аналогична другим сервисам кредитования:
- Покупатель выбирает «Покупай со Сбером» при оформлении заказа
- Магазин отправляет данные заказа в API Сбера
- Покупатель перенаправляется на страницу Сбера для заполнения заявки
- Сбер принимает решение (скоринг — от 2 минут для клиентов Сбера)
- При одобрении и подписании — магазин получает уведомление, заказ оплачен
API Сбера для партнёров: https://api.sberbank.ru/fintech/api/v1/credit-gate/. Документация закрытая — выдаётся после подписания партнёрского договора.
Получение доступа
Процесс подключения дольше технической интеграции:
- Заявка на
sberbank.ru/ru/s_m_business/bankingservice/credit_products— регистрация как партнёр - Проверка юрлица (1–2 недели)
- Подписание договора
- Получение credentials:
partnerId,partnerToken, тестовые реквизиты - Техническая интеграция и тестирование
- Прохождение приёмочного тестирования Сбером
- Перевод в production
Приёмочное тестирование — Сбер проверяет, что интеграция работает корректно: правильная передача товаров, обработка всех статусов, корректный возврат. Без прохождения приёмки production-доступ не дадут.
Техническая интеграция с модулем sale
Как и для любой платёжной системы в 1С-Битрикс, создаётся обработчик в /local/php_interface/include/sale_payment/sber_credit/.
Файл .description.php:
$data = [
'NAME' => 'Покупай со Сбером',
'SORT' => 500,
'CODES' => [
'PARTNER_ID' => ['NAME' => 'Partner ID', 'SORT' => 100],
'PARTNER_TOKEN' => ['NAME' => 'Token', 'SORT' => 200],
'TEST_MODE' => ['NAME' => 'Тестовый режим', 'SORT' => 300, 'INPUT' => ['TYPE' => 'Y/N']],
]
];
Класс обработчика (handler.php) наследует \Bitrix\Sale\PaySystem\ServiceHandler. Ключевые методы:
Формирование заказа для API
Метод initiatePay формирует запрос к Сберу. Структура данных заказа:
$orderData = [
'partnerOrderId' => $payment->getField('ORDER_ID'),
'partnerOrderDate' => date('Y-m-d\TH:i:sP'),
'amount' => $payment->getSum(),
'currency' => 'RUB',
'returnUrl' => $this->getSuccessUrl($payment),
'failUrl' => $this->getFailUrl($payment),
'callbackUrl' => $this->getCallbackUrl($payment),
'items' => []
];
$basket = $payment->getOrder()->getBasket();
foreach ($basket as $item) {
$orderData['items'][] = [
'name' => $item->getField('NAME'),
'quantity' => $item->getQuantity(),
'price' => $item->getPrice(),
'sum' => $item->getPrice() * $item->getQuantity(),
'category' => $this->mapCategory($item),
];
}
Важно: сумма товарных позиций должна точно совпадать с amount. Если есть скидки или доставка — они должны быть отдельными позициями в items. Расхождение даже на копейку приведёт к отклонению заявки.
Категоризация товаров
Сбер требует категорию для каждого товара (category). Список категорий фиксированный: electronics, clothing, furniture, household, other и т.д. Маппинг категорий Битрикс на категории Сбера нужно реализовать:
- Через пользовательское свойство раздела инфоблока (
UF_SBER_CATEGORY) - Или через маппинг-таблицу в настройках модуля: ID раздела каталога → код категории Сбера
Без правильной категоризации заявка может быть отклонена или обрабатываться дольше.
Обработка статусов
Сбер отправляет POST-уведомления на callbackUrl при изменении статуса. Статусная модель:
| Статус API | Описание | Действие |
|---|---|---|
CREATED |
Заявка создана | Логируем |
PROCESSING |
На рассмотрении | Ничего |
APPROVED |
Одобрена банком | Ничего (ждём подписание) |
SIGNED |
Договор подписан | $payment->setPaid('Y') |
REJECTED |
Отказ банка | Отменяем платёж |
CANCELED |
Отмена клиентом | Отменяем платёж |
REFUNDED |
Возврат | Создаём возврат в Битрикс |
Обработчик processRequest должен:
- Проверить подпись запроса (HMAC-SHA256 от тела +
partnerToken) - Найти платёж по
partnerOrderId - Обновить статус платежа
- Вернуть HTTP 200 (иначе Сбер будет повторять уведомления)
Возвраты
«Покупай со Сбером» поддерживает частичные и полные возвраты через API. При оформлении возврата в 1С-Битрикс (Магазин → Заказы → Возврат) обработчик должен отправить запрос на POST /credit-gate/refund:
public function refund(\Bitrix\Sale\Payment $payment, $refundAmount)
{
$response = $this->apiRequest('refund', [
'partnerOrderId' => $payment->getField('ORDER_ID'),
'amount' => $refundAmount,
]);
return $response['status'] === 'SUCCESS';
}
Возврат обрабатывается Сбером в течение 1–5 рабочих дней. Статус возврата приходит callback-уведомлением.
Виджет на карточке товара
Сбер предоставляет JS-виджет для отображения ежемесячного платежа на странице товара:
<div id="sber-credit-widget" data-sum="80000"></div>
<script src="https://iss.sberbank.ru/partner/widget.js" data-partner-id="YOUR_ID"></script>
Виджет показывает: «от 3 500 руб/мес» — рядом с ценой. Встраивается в шаблон bitrix:catalog.element через component_epilog.php или кастомный шаблон.
Отличия от Тинькофф Кредит
- Аудитория шире (клиенты Сбера — ~60% населения)
- Процесс приёмочного тестирования строже
- API-документация закрытая (только после договора)
- Скоринг быстрее для клиентов Сбера (есть данные для оценки)
- Минимальная сумма заказа обычно ниже (от 3 000 руб. против 3 000–5 000 у Тинькофф)







