Інтеграція 1С-Bitrix з Покупай зі Сбером
Сервіс «Покупай зі Сбером» (раніше «Сбербанк Кредит», він же SberPay розстрочка) дозволяє покупцю оформити розстрочку або кредит прямо на сторінці оформлення замовлення. Для інтернет-магазину на 1С-Bitrix це додаткова платіжна система, яка підключається до модуля 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С-Bitrix, створюється обробник в /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 тощо. Відображення категорій Bitrix на категорії Сбера потрібно реалізувати:
- Через користувацьку властивість розділу інфоблока (
UF_SBER_CATEGORY) - Або через таблицю відображення у параметрах модуля: ID розділу каталога → код категорії Сбера
Без правильної категоризації заявка може бути відхилена або обробляватися довше.
Обробка статусів
Сбер відправляє POST-сповіщення на callbackUrl при зміні статусу. Модель статусів:
| Статус API | Опис | Дія |
|---|---|---|
CREATED |
Заявка створена | Логуємо |
PROCESSING |
На розгляді | Нічого |
APPROVED |
Одобрена банком | Нічого (чекаємо підписання) |
SIGNED |
Договір підписаний | $payment->setPaid('Y') |
REJECTED |
Відмова банку | Скасуємо платіж |
CANCELED |
Скасування клієнтом | Скасуємо платіж |
REFUNDED |
Повернення | Створюємо повернення у Bitrix |
Обробник processRequest має:
- Перевірити підпис запиту (HMAC-SHA256 від тіла +
partnerToken) - Знайти платіж за
partnerOrderId - Оновити статус платежу
- Повернути HTTP 200 (інакше Сбер буде повторювати сповіщення)
Повернення
«Покупай зі Сбером» підтримує часткові та повні повернення через API. При оформленні повернення у 1С-Bitrix (Магазин → Замовлення → Повернення) обробник має відправити запит на 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 або користувацький шаблон.
Відмінності від Tinkoff Credit
- Аудиторія ширша (клієнти Сбера — ~60% населення)
- Процес приймального тестування строгіший
- API-документація закрита (тільки після договору)
- Скоринг швидший для клієнтів Сбера (є дані для оцінки)
- Мінімальна сума замовлення зазвичай менше (від 3 000 руб. проти 3 000–5 000 у Tinkoff)







