Інтеграція 1С-Бітрікс з Купуй зі Сбером

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Інтеграція 1С-Бітрікс з Купуй зі Сбером
Середня
~1-2 тижні
Часті питання

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

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Інтеграція 1С-Bitrix з Покупай зі Сбером

Сервіс «Покупай зі Сбером» (раніше «Сбербанк Кредит», він же SberPay розстрочка) дозволяє покупцю оформити розстрочку або кредит прямо на сторінці оформлення замовлення. Для інтернет-магазину на 1С-Bitrix це додаткова платіжна система, яка підключається до модуля sale. Аудиторія Сбера — найбільша клієнтська база серед російських банків, тому для магазинів з чеком від 3 000 рублів інтеграція має прямий економічний сенс.

Принцип роботи

Механіка аналогічна іншим сервісам кредитування:

  1. Покупець вибирає «Покупай зі Сбером» при оформленні замовлення
  2. Магазин відправляє дані замовлення в API Сбера
  3. Покупець перенаправляється на сторінку Сбера для заповнення заявки
  4. Сбер приймає рішення (скоринг — від 2 хвилин для клієнтів Сбера)
  5. При одобренні та підписанні — магазин отримує сповіщення, замовлення оплачено

API Сбера для партнерів: https://api.sberbank.ru/fintech/api/v1/credit-gate/. Документація закрита — видається після підписання партнерського договору.

Отримання доступу

Процес підключення довший за технічну інтеграцію:

  1. Заявка на sberbank.ru/ru/s_m_business/bankingservice/credit_products — реєстрація як партнер
  2. Перевірка юрлиці (1–2 тижні)
  3. Підписання договору
  4. Отримання credentials: partnerId, partnerToken, тестові реквізити
  5. Технічна інтеграція та тестування
  6. Прходження приймального тестування Сбером
  7. Переведення в 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 має:

  1. Перевірити підпис запиту (HMAC-SHA256 від тіла + partnerToken)
  2. Знайти платіж за partnerOrderId
  3. Оновити статус платежу
  4. Повернути 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)