Настройка разделения платежей (split-payments) в 1С-Битрикс
Split-платежи нужны в двух принципиально разных сценариях: маркетплейс, где деньги покупателя нужно разделить между несколькими продавцами, и рассрочка/BNPL, где сумма оплачивается частями в разное время. Технически это совершенно разные задачи. Разберём оба.
Сценарий 1: маркетплейс — раздельные выплаты продавцам
Покупатель платит единую сумму, но деньги нужно распределить между несколькими получателями: один продавец, второй продавец, комиссия площадки.
В России это реализуется через:
- ЮКасса (Разделение платежей) — официальный продукт ЮКасса для маркетплейсов
- Тинькофф (Маркетплейс) — решение для платформ
- CloudPayments (Splits) — API для разделения
Пример через ЮКасса:
// В платёжном запросе указываем получателей (transfers)
$paymentData = [
'amount' => ['value' => '5000.00', 'currency' => 'RUB'],
'confirmation' => ['type' => 'redirect', 'return_url' => $returnUrl],
'description' => 'Заказ #' . $orderId,
'transfers' => [
[
'account_id' => 'seller_shop_id_1',
'amount' => ['value' => '2000.00', 'currency' => 'RUB'],
'description' => 'Продавец 1',
],
[
'account_id' => 'seller_shop_id_2',
'amount' => ['value' => '2500.00', 'currency' => 'RUB'],
'description' => 'Продавец 2',
],
// Оставшиеся 500 руб. остаются на балансе маркетплейса
],
'metadata' => ['order_id' => $orderId],
];
Каждый продавец должен быть зарегистрирован как суб-аккаунт в ЮКасса. Маркетплейс сам управляет выплатами.
Сценарий 2: рассрочка/BNPL — оплата частями
Покупатель оплачивает заказ частями (например, 3 платежа по 1000 руб.). Существующие BNPL-сервисы в России:
| Сервис | Интеграция |
|---|---|
| Долями (Тинькофф) | Отдельный виджет |
| Сплит (Сбер) | Кнопка в SberPay |
| Подели (Альфа-Банк) | API + виджет |
| Оплатить частями (ЮКасса) | В составе виджета ЮКасса |
Интеграция «Долями» (Тинькофф):
// Виджет Долями — покупатель видит разбивку "3 платежа по X руб."
const dolyame = new TinkoffDolyame({
shopId: 'YOUR_SHOP_ID',
price: orderAmount,
orderId: String(orderId),
successUrl: 'https://shop.ru/payment/success/',
failUrl: 'https://shop.ru/payment/fail/',
callbackUrl: 'https://shop.ru/api/dolyame-notify/',
});
document.getElementById('dolyame-btn').addEventListener('click', () => {
dolyame.pay();
});
Серверная часть — обработка уведомлений аналогична стандартному эквайрингу. Магазин получает полную сумму сразу (или по графику в зависимости от договора), разбивкой занимается BNPL-сервис.
Кастомная логика разделения платежей в Битрикс
Если BNPL-сервис не подходит и нужна собственная логика (например, поэтапная оплата по выставленным счетам):
// Создаём несколько платежей для одного заказа
$order = Bitrix\Sale\Order::load($orderId);
$paymentCollection = $order->getPaymentCollection();
// Первый платёж — 50% при оформлении
$payment1 = $paymentCollection->createItem();
$payment1->setFields([
'SUM' => round($order->getPrice() * 0.5, 2),
'PAY_SYSTEM_ID' => $paySystemId,
'CURRENCY' => 'RUB',
]);
// Второй платёж — 50% при доставке
$payment2 = $paymentCollection->createItem();
$payment2->setFields([
'SUM' => round($order->getPrice() * 0.5, 2),
'PAY_SYSTEM_ID' => $paySystemId,
'CURRENCY' => 'RUB',
'DATE_PAY_BEFORE' => new Bitrix\Main\Type\DateTime('+30 days'),
]);
$order->save();
Фискализация split-платежей
При маркетплейсной схеме каждый продавец выбивает собственный чек — либо через свою кассу, либо через облачную кассу агрегатора. Распределение ответственности за чеки прописывается в договоре с платёжным агрегатором.
Сроки
| Задача | Срок |
|---|---|
| Маркетплейс-разделение через ЮКасса API | 2–4 дня |
| Интеграция BNPL-виджета (Долями, Подели) | 1–2 дня |
| Кастомная логика разделения в Битрикс | 2–3 дня |







