Многоуровневая партнёрка в 1С-Битрикс начисляет вознаграждение не только тому, кто привёл покупателя, но и партнёру, который привёл самого партнёра. Это цепочка пригласивших, а не отдельный модуль — весь механизм собирается из планов аффилиатов, настроек модуля «Интернет-магазин» и PHP-скрипта калькуляции.
Как устроена многоуровневая схема
Партнёрская программа входит в модуль «Интернет-магазин» (sale) и работает поверх тех же сущностей, что и одноуровневая: аффилиаты, планы аффилиатов и транзакции. Многоуровневость добавляет к ним одно свойство — у каждого аффилиата может быть пригласивший (родительский партнёр).
Когда покупатель оформляет заказ по реферальной ссылке, система определяет аффилиата первого уровня — того, чью ссылку использовали. Затем она поднимается вверх по цепочке: находит того, кто пригласил этого партнёра (второй уровень), затем следующего (третий уровень) и так далее — до глубины, заданной в настройках модуля.
- Уровень 1 — аффилиат, приведший покупателя;
- Уровень 2 — тот, кто пригласил аффилиата уровня 1;
- Уровень N — вышестоящие партнёры до предела глубины.
Включение партнёрской программы
Сначала активируйте механику в настройках модуля: Настройки → Настройки продукта → Настройки модулей → Интернет-магазин, вкладка «Партнёрская программа». Здесь включается сам функционал и задаётся глубина.
- Отметьте использование партнёрской программы;
- Укажите допустимое количество уровней (глубину цепочки пригласивших);
- Настройте срок жизни партнёрской cookie — сколько дней действует «привязка» покупателя к партнёру после перехода по ссылке.
После сохранения в меню «Магазин → Партнёры» появятся разделы «Аффилиаты», «Планы аффилиатов» и «Транзакции». Реферальная ссылка партнёра содержит его идентификатор в параметре вида ?partner=ID; при переходе значение сохраняется в cookie и учитывается при оформлении заказа.
Планы аффилиатов и уровни вознаграждения
План аффилиата (Магазин → Партнёры → Планы аффилиатов, страница /bitrix/admin/sale_aff_plan_admin.php) — это правило, по которому считается вознаграждение. Именно в плане описывается, что и сколько получает партнёр на каждом уровне.
В карточке плана задаются:
- Название и активность — плана может быть несколько, разные партнёры работают по разным условиям;
- Скрипт калькуляции — PHP-код, который для конкретного заказа и уровня возвращает сумму вознаграждения;
- Диапазоны/условия — например, разный процент в зависимости от суммы заказа или уровня в цепочке.
Многоуровневость реализуется именно в скрипте: для уровня 1 назначается один процент, для уровня 2 — меньший, для уровня 3 — ещё меньший. Модуль вызывает калькуляцию отдельно для каждого партнёра в цепочке, передавая номер уровня и данные заказа.
Скрипт калькуляции по уровням
Скрипт калькуляции — сердце многоуровневой схемы. Он выполняется для каждого аффилиата, попавшего в цепочку по конкретному заказу, и должен вернуть сумму его вознаграждения. Внутри доступны данные заказа (сумма, состав корзины) и номер уровня, на котором находится текущий партнёр.
Типичная логика — таблица процентов по уровням:
| Уровень | Процент от суммы заказа |
|---|---|
| 1 | 10% |
| 2 | 5% |
| 3 | 2% |
В коде это выражается массивом ставок, из которого по номеру уровня выбирается нужный процент и умножается на сумму заказа. Не жёстко зашивайте состав корзины в проценты — считайте от очищенной суммы (без доставки, если так задумано в условиях программы).
Цепочка пригласивших и привязка партнёров
Чтобы уровни выше первого вообще существовали, у аффилиатов должна быть заполнена связь «пригласивший». Она задаётся в карточке аффилиата (Магазин → Партнёры → Аффилиаты) — при создании нового партнёра указывается, кто его привёл.
Есть два сценария наполнения цепочки:
- Ручной — администратор проставляет пригласившего при регистрации партнёра. Подходит для небольших сетей;
- Автоматический — новый партнёр приходит по реферальной ссылке существующего, и связь фиксируется по той же cookie
?partner=ID. Так строится настоящая MLM-структура без ручного труда.
Глубина обхода ограничена значением из настроек модуля: даже если цепочка длиннее, вознаграждение начислится только до заданного числа уровней. Разрывы в цепочке (партнёр без пригласившего) естественным образом обрывают начисление вверх.
Транзакции и контроль начислений
Результат работы схемы виден в разделе Магазин → Партнёры → Транзакции (/bitrix/admin/sale_transact.php). По одному заказу многоуровневая программа создаёт несколько транзакций — по одной на каждого партнёра в цепочке, с указанием уровня и суммы вознаграждения.
Транзакции проходят через статусы: начислено, подтверждено, выплачено, отменено. Отмена заказа покупателем должна приводить к сторнированию всех связанных транзакций по цепочке — проверьте это на тестовом заказе с возвратом.
- Сверяйте сумму всех уровней по заказу — она не должна превышать разумную долю от его стоимости;
- Следите за «висящими» начислениями по отменённым заказам;
- Для отчётности выгружайте транзакции с фильтром по аффилиату и периоду.
Типичные ошибки настройки
Многоуровневая партнёрка ломается на предсказуемых мелочах. Самое частое:
- Не заполнена цепочка пригласивших — уровни выше первого не начисляются;
- Глубина в настройках модуля меньше, чем в скрипте — код рассчитан на 3 уровня, а модуль обходит только 2;
- Процент не привязан к уровню — все партнёры получают одинаковую ставку, схема теряет смысл;
- Короткая партнёрская cookie — покупатель вернулся через неделю, привязка к партнёру уже истекла;
- Нет сторнирования при отмене — начисления по возвращённым заказам остаются в выплатах.
Итог
Многоуровневая партнёрка в 1С-Битрикс — это связка из трёх настроек: включённая опция с заданной глубиной в модуле «Интернет-магазин», планы аффилиатов со скриптом калькуляции по уровням и корректно заполненная цепочка пригласивших. Модуль строит цепочку, а распределение процентов и логику начислений вы описываете сами в PHP-скрипте плана.
Если нужно спроектировать MLM-структуру, написать надёжный скрипт калькуляции с уровнями и антифродом или связать выплаты партнёрам с 1С и внешними сервисами — мы настраиваем и дорабатываем партнёрские программы на Битрикс под конкретную модель бизнеса.
Частые вопросы
Есть ли в 1С-Битрикс отдельный модуль многоуровневой партнёрки?
Нет. Партнёрская программа — часть модуля «Интернет-магазин». Многоуровневость реализуется настройкой глубины уровней, планами аффилиатов и цепочкой пригласивших, а не отдельным решением.
Где задаётся количество уровней?
В настройках модуля «Интернет-магазин», на вкладке «Партнёрская программа». Там же включается сама программа и настраивается срок жизни партнёрской cookie.
Как назначить разный процент для каждого уровня?
Через скрипт калькуляции в плане аффилиата. Скрипт получает номер уровня и сумму заказа, а вы возвращаете вознаграждение по своей таблице ставок для этого уровня.
Как строится цепочка пригласивших?
У каждого аффилиата есть поле «пригласивший». Оно заполняется вручную в карточке партнёра или автоматически, если новый партнёр пришёл по реферальной ссылке существующего.
Сколько транзакций создаётся по одному заказу?
По одной на каждого партнёра в цепочке в пределах заданной глубины. Каждая транзакция содержит уровень и сумму вознаграждения конкретного аффилиата.
Что будет при отмене заказа?
Все связанные транзакции по цепочке должны сторнироваться. Обязательно проверьте это на тестовом возврате — иначе начисления по отменённым заказам попадут в выплаты.
Почему начисляется только первый уровень?
Чаще всего у аффилиатов не заполнено поле пригласившего, поэтому цепочка вверх обрывается. Реже — глубина уровней в настройках модуля выставлена в единицу.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.