Составить алгоритм

Рейтинг: 0Ответов: 1Опубликовано: 06.12.2014

Всем привет.

Есть сайт http://moneyback.ru/. Там регистрируешься, и чтобы получить бонус, нужно перейти в любой из магазинов и сделать оплату, после чего тебе начислится бонус.

Подскажите, как здесь орагнизован алгоритм? Хочу создать у себя такой же сервис в городе Алматы.

Вот что получилось наработать.

  1. После перехода создается Get параметр примерно вот такого типа: "?actionpay=d41d9ff0-93f4-63ef-f58f-014a208c214c.47553"

  2. Я так понимаю, чтобы партнерская ссылка сохранилась, ее записывать в Куки, после чего ты спокойно можешь гулять по их сайту.

  3. Вопрос: после того как я нажимаю Купить, как партнер узнает, что клиент пришел от меня? Нужно на его стороне писать код: взять такую-то куки и записать в базу данных, от кого он пришел.

  4. После того как человек оплатил товар, партнер должен зайти в личный кабинет у меня на сайте и провести покупку?

Что-то я тут написал бредового или нет? Подскажите ваше видение этого проекта, а точнее алгоритм?

Ответы

▲ 1Принят

Давайте пройдем по Вашим пунктам:

  1. У Вас на сайте будет ссылка на какой-то магазин, в котором Ваш клиент должен совершить покупку. И для этого вы формируете либо GET-ссылку с необходимым параметром:"?actionpay=d41d9ff0-93f4-63ef-f58f-014a208c214c.47553"

  2. Да, вы совершенно правы - записывается необходимая кука. С помощью данной куки можно определить, с какого сайта был переход.

  3. Во время покупки партнер считывает куку и записывает в необходимое поле, "от кого пришел клиент".

  4. Партнер к Вам на сайт не должен заходить. Он просто может использовать ваше API. После обращения которого вы запишите необходимые данные в базу. И у пользователя, который вернется к Вам, на сайте уже будет скидка или бонусы какие-то.

UPD!

У нас есть сайт [1] и сайт [2]. Для получение бонуса на сайте [1] пользователь должен совершить покупку на сате [2].

У Вас, получается, есть зарегистрированный клиент на сайте [1].

Я бы формировал GET запрос следующим образом:

?urlSite={Имя домена с которого пришел клиент}&user={Логин_зарегистрированого_пользователя}

Ну, только обязательно эти вещи необходимо шифровать. В любом случае данные, отправленные GET запросом, можно перехватить. Поэтому такие вещи лучше передавать POST-ом.

В вашем случае данные можно не шифровать, ничего секретного в Ваших передаваемых данных нету.

Далее пользователь переходит на сайт [2]. Сайт обрабатывает пришедший GET запрос и записывает в куку данные: urlSite и user.
Потом пользователь гуляет по сайту, выбирает товар. Выключает комп. Думает месяц над покупкой товара и потом совершает покупку.
И тут считывается кука, которая была записана месяц назад.
И сайт [2] определяет логин клиента и urlSite, с которого пришел данный клиент.

А далее все просто, например, вызывается API:

$apiPayPartner->Success(urlSite, user, "и например_номер_заказа")

Сюда можно запихнуть что угодно, например, информацию о приобретенном товаре, его цену и т.д.

И после вызова API на сайте [1] срабатывает функция Success(), в которой приходят необходимые Вам данные. И далее вы их сохраняете в БД.
И теперь пользователь, зайдя на сайт, увидит свой обещанный бонус. :)

И используя такой алгоритм, можно подключать сколько угодно сайтов.

UPD 2.

По поводу того, как это все описать клиенту. То для этих целей создается документ, в котором описаны все эти мелочи. И указывается на него ссылка, и, как правило, клиенты их не читают. А если и прочитают, то еще лучше. :)