Интеграция 1С-Битрикс со сплит-сервисами (Яндекс Сплит, Долями)
Покупатель часто отказывается от крупной покупки, если цена бьёт по бюджету. Сплит-оплата — механизм, который делит сумму на 2–4 платежа без процентов и кредитного договора. Мы, команда с 10-летним опытом в Битрикс, уже интегрировали Яндекс Сплит и Долями для десятков интернет-магазинов. Расскажем, как это сделать технически грамотно, с какими подводными камнями столкнётесь и как их обойти.
Работа сплит-оплаты в Битрикс
Сплит-сервисы не дают покупателю кредит — они платят магазину полную сумму сразу (или в течение 1–2 дней), а потом сами взыскивают платежи с покупателя. Для 1С-Битрикс это обычная платёжная система: создаёте обработчик, получаете вебхук с подтверждением, помечаете заказ оплаченным. Отличие — в API и статусной модели: меньше промежуточных статусов, чем у кредитных систем.
Сравнение Яндекс Сплит и Долями
Оба сервиса решают одну задачу, но отличаются лимитами и аудиторией. Яндекс Сплит позволяет делить сумму от $10–1.5k на 2–4 платежа. Долями — от $5–300 на 4 платежа. Яндекс Сплит лучше подходит для дорогих товаров (электроника, мебель), а Долями — для среднего чека (одежда, косметика). Рекомендуем подключать оба: на странице чекаута показываем две кнопки, и покупатель выбирает свой сервис.
Техническая реализация Яндекс Сплит
Яндекс Сплит встраивается через Yandex Pay SDK. На странице чекаута подключаем JavaScript-кнопку с параметром paymentType: 'SPLIT'. После подтверждения Яндекс отправляет webhook на ваш callbackUrl. Обработчик в 1С-Битрикс должен:
- Верифицировать JWT-токен из заголовка.
- Создать заказ (
\Bitrix\Sale\Order::create). - Подтвердить через API (
POST /api/merchant/v1/orders/{orderId}/capture).
Пример обработчика в /local/php_interface/include/sale_payment/yandex_split/:
public function initiatePay( \Bitrix\Sale\Payment $payment, \Bitrix\Main\Request $request = null ) { $this->setExtraParams([ 'MERCHANT_ID' => $this->getBusinessValue($payment, 'MERCHANT_ID'), 'CART_ITEMS' => $this->getCartItems($payment), 'AMOUNT' => $payment->getSum(), ]); return $this->showTemplate($payment, 'template'); } Шаблон template/template.php рендерит кнопку Yandex Pay с параметром SPLIT.
Техническая реализация Долями
Сервис «Долями» от Т-Банка использует REST API. Endpoint: https://partner.dolyame.ru/v1/orders. Авторизация — HTTP Basic Auth + подпись X509-сертификатом. Создание заказа:
$response = $this->apiRequest('POST', '/v1/orders', [ 'id' => $payment->getField('ORDER_ID'), 'amount' => $payment->getSum(), 'prepaid_amount' => 0, 'items' => $this->formatItems($payment), 'client_info' => [ 'first_name' => $order->getPropertyValue('NAME'), 'last_name' => $order->getPropertyValue('LAST_NAME'), 'phone' => $order->getPropertyValue('PHONE'), 'email' => $order->getPropertyValue('EMAIL'), ], 'notification_url' => $this->getCallbackUrl($payment), 'success_url' => $this->getSuccessUrl($payment), 'fail_url' => $this->getFailUrl($payment), ]); API возвращает link — редирект на страницу подтверждения.
Статусная модель и возвраты
| Статус | Яндекс Сплит | Долями | Действие в Битрикс |
|---|---|---|---|
| Создан | PENDING | new | Ожидание |
| Подтверждён | CONFIRMED | approved | $payment->setPaid('Y') |
| Отклонён | REJECTED | rejected | Отмена платежа |
| Отменён | CANCELED | canceled | Отмена платежа |
| Возврат | REFUNDED | refunded | Возврат в Битрикс |
Оба сервиса поддерживают частичные возвраты. Для Яндекса: POST /api/merchant/v1/orders/{orderId}/refund, для Долями: POST /v1/orders/{orderId}/refund. При частичном возврате сервис пересчитывает график покупателя, а магазину возвращается только избыточная сумма.
Что входит в услугу
- Анализ текущей платёжной системы и корзины.
- Разработка двух обработчиков (Яндекс Сплит и Долями) с обработкой вебхуков.
- Интеграция с 1С (обмен статусами заказов).
- Тестирование на тестовых и реальных заказах.
- Документация по эксплуатации.
- Обучение менеджеров работе с возвратами.
Стоимость рассчитывается индивидуально, срок — от 3 до 5 рабочих дней.
Безопасность и мониторинг сплит-интеграций
Оба сервиса передают webhook-уведомления с подписью, которую необходимо верифицировать на стороне сервера. Для Яндекс Сплит подпись передаётся в JWT-токене заголовка Authorization, для Долями — через HMAC-SHA256 в заголовке X-Signature. Без проверки подписи злоумышленник может эмулировать подтверждение оплаты и получить товар бесплатно.
Рекомендуем настроить мониторинг webhook-очереди: если за 10 минут не пришёл статус подтверждения — отправить повторный запрос через API сервиса. Оба провайдера поддерживают ручную проверку статуса заказа через GET /api/merchant/v1/orders/{orderId} (Яндекс) и GET /v1/orders/{id} (Долями). Это защищает от потери заказов при временных сетевых сбоях.
Для нагруженных магазинов (от 200 заказов в день) рекомендуем обрабатывать webhook через очередь задач — например, через агенты Битрикс или Redis Queue — чтобы не блокировать HTTP-ответ сервису. Endpoint должен отвечать в течение 3 секунд, иначе сервис повторит уведомление. Настройте идемпотентность обработчика: при повторном получении одного и того же webhook статус заказа не должен меняться дважды. Для этого достаточно проверять текущий статус платежа перед обновлением и пропускать уведомление, если статус уже установлен.
Преимущества нашей интеграции
Более 200 успешных проектов по интеграции платёжных систем с 1С-Битрикс, 10+ лет на рынке, штатные сертифицированные специалисты. Используем официальные SDK и следуем рекомендациям вендоров (Yandex Pay SDK, API Долями).
Свяжитесь с нами — оценим ваш проект и предложим оптимальное решение.







