Общий алгоритм работы

Для реферальных ссылок используется GET параметр ?pr=xx
Где xx - ID партнёра.

Параметр принимается на всех страницах Скулмастера.

После чего происходит проверка существования партнёра (корнвой index.php).
Если он есть, то партнёру записывается переход.

 

Далее зависит от настройки партнёрской программы.

Возможны 2 варианта развития:

1. Начислять первому партнёру кто привёл клиента (тот чей ID находится в куках).

Если куки есть, то мы оставляем их.
Если куки пустые, то устанавливаем туда ID из GET параметра.

2. Начислять последнему, кто сделал продажу (по чьей ссылке был переход).

Если куки есть, то стартуем спец.сессию $_SESSION['real_aff_cookie'] и пишем туда ID партнёра из GET параметра.

Если кук нет, то устанавливаем туда ID из GET параметра.

index.php 

 

orderController->actionBuy

 

Order::renderOrder()

Сценарии работы

  1. Переход по партнёрской ссылке с GET параметром.
    Всё просто, начисляем партнёру из GET.
    2-ой и 3-ий уровень, стандартно. 

  2. Переход на сайт с куками в браузере.
    Начисляем партнёру из куки.

    Если присутствует GET параметр, то смотрим на настройки кому начислять.
    1-ый - это в куках
    последний - это в GET

    2-ой и 3-ий уровень, стандартно. 

  3. Переход на сайт и покупка клиента закрепленного за партнёром
    Смотрим на настройку партнёрки, кому начислять.
    1-ый - это закрепленный партнёр 
    последний - это GET или куки (смотря что будет).

    2-ой и 3-ий уровень, стандартно. 

  4. Переход по короткой партнёрской ссылке или ссылке на лендинг.
    Смотрим настройки партнёрки:
    1-ый - кто закреплен, или кто в куках
    последний - чья партнёрская ссылка.

    2-ой и 3-ий уровень, стандартно. 

  5. Покупка по промо коду, закрепленного за партнёром.
    Смотрим настройку:
    1-ый - закрепленный партнёр, или тот что в куках
    последний - партнёр из промо кода.

    2-ой и 3-ий уровень, стандартно. 

  6. Покупка продукта с индивидуальной комиссией.
    Партнёра определяем как в п.1 - 4, только размер комиссии из настроек продукта.

    2-ой и 3-ий уровень не начисляем. 

  7. Покупка клиентом, от партнёра с индивидуальным начислением.
    Партнёра определяем как в п.1 - 4, только размер комиссии берём из индивидуальных настроек партнёра.

    2-ой и 3-ий уровень не начисляем. 

  8. Покупка клиентом, от партнёра с особым режимом партнёрки
    Партнёра определяем как в п.1 - 4, размер комиссии из особого режима.

    2-ой и 3-ий уровень не начисляем.