Описание библиотеки функций для интеграции онлайн-магазинов с социальной сетью MyLivePage согласно MyLivePage Affiliate API Библиотека предназначена для проектов, написаных на языке программирования PHP.
Порядок установки:
1. Скачайте ZIP-архив с файлами библиотеки mlp_affiliate_api.zip (текущая версия : v.1.0.2)
2. Распакуйте архив и установите его на веб-сервере Вашего онлайн-магазина В архиве имеется папка "mlp", в которой находится файл "mlp_affiliate_api.php"
3. Настройте программное обеспечение онлайн-магазина
3.1. Определите глобальную константу _MLP_PROGRAMID - её значением должен стать идентификатор магазина.
Quote:
define('_MLP_PROGRAMID',####); |
Идентификатор магазина #### можно узнать в partners.mylivepage.net после добавления магазина в разделе "Партнёрство".
3.2. Подключите файл mlp_affiliate_api.php к Вашему онлайн-магазину, создайте объект *) для работы с платёжным сервером
Quote:
require_once('mlp/mlp_affiliate_api.php'); // правильно укажите путь к подключаемой библиотеке mlp_affiliate_api.php
$mlp_affliate_obj = new MLP_Affiliate(); // создать объкт для работы с платёжным сервером
// метод "process" сохранит в куки идентификатор mlp_user, если это новый посетитель с сайта MyLivePage,
// и автоматически отработает ответ платёжному серверу MyLivePage при запросе подтверждения операции "SELL" (продажа)
$mlp_affliate_obj->process(); |
Если объект создаётся в неинтерективном процессе (например, в cron скрипте, то выполнять метод "process" не нужно). Обычно определение константы _MLP_PROGRAMID и подключение билиотеки выполняется в индексном файле онлайн-магазина, скорее всего это файл index.php в той директории, где расположено программное обеспечение Вашего онлайн-магазина. Для корректной обработки ответа платёжному серверу MyLivePage на запрос подтверждения операции "SELL", необходимо вызывать метод process до начала вывода в поток ответа из других частей онлайн-магазина. Если сервер MyLivePage обнаружит ответ, не совпадающий с форматом, описанным в MLP Affiliate API, подтверждение не будет считаться корректным.
Примечание:
- ) При создании объекта можно передать ему в качестве параметра ассоциативный массив (хэш) опций, которые влияют на работу. Не обязательно указывать все возможные опции, значения по умолчанию подбираются достаточно корректно.
Quote:
$options = array( 'testmode' => false, 'request_type' => 'file_get_contents', 'timeout' => 6, 'query_parameter' => 'mlp_user', 'cookie_parameter' => 'mlp_user', 'host' => '', 'verbose' => false, 'debug' => false ) $mlp_affliate_obj = new MLP_Affiliate($options); |
Описание опций:
- 'testmode' - при значении TRUE включается режим тестовых команд. Платежи в этом режиме будут обработаны и показаны в статистике как обычные, но по ним не будет начислена комиссия. По умолчанию режим выключен.
- 'request_type' - способ соединений с сервером MyLivePage, варианты : 'file_get_contents', 'curl' или 'socket'. По умолчанию режим подбирается автоматически, исходя из возможностей веб-сервера.
- 'timeout' - время ожидания ответа от сервера MyLivePage, если выбранный способ соединений поддерживает этот параметр. По умолчанию 10 секунд.
- 'query_parameter' - имя параметра в URL, в котором задаётся идентификатор владельца сайта социальной сети MyLivePage, с которого пришёл посетитель. По умолчанию параметр имеет имя "mlp_user".
- 'cookie_parameter' - имя параметра в cookies браузера, под которым сохранится идентификатор владельца сайта социальной сети MyLivePage. По умолчанию параметр имеет имя "mlp_user".
- 'host' - имя хоста, для которого в cookies будет сохранен идентификатор владельца сайта социальной сети MyLivePage. По умолчанию автоматически подбирается имя домена из текущего URL без приставки www, если такая обнаружена. Примеры ниже:
Адрес онлайн-магазина Автоматически определяемый хост http://example.com/
или
http://www.example.com/example.com http://ru.example.com/ ru.example.com http://ru.example.com/shop/ ru.example.com http://ru.example.com/?module=shop ru.example.com - 'verbose' - при значении TRUE включается вывод оповещений об ошибках работы в стандартный поток ввода/вывода. По умолчанию режим выключен.
- 'debug' - при значении TRUE включается вывод отладочных сообщений. При выводе отладочных сообщений подтверждения операции "SELL" работать не будет, потому что в ответ серверу MyLivePage попадёт и текст отладочных сообщений. По умолчанию режим выключен.
3.3. Создайте *) функцию "get_order", которая могла бы вернуть информацию о заказе, с деланном в Вашем онлайн-магазине, в виде ассоциативного массива.
Quote:
/** Эта функция будет использована для доступа к базе данных с совершёнными заказами для получения информации об одном заказе.
* Вы должны изменить эту функцию в соответствии с архитектурой базы данных и логикой программного обеспечения онлайн-магазина
*
* Возможно, потребуется соединение с базой данных
*
** Входные параметры
* $orderid - целое число, идентификатор заказа. Число должно быть уникальным для Вашего онлайн магазина
*
** Результат
* ассоциативный массив, в котором определены следующие обязательные узлы (ключи)
* 'error' - логическое значение - TRUE, если произошла какая-либо ошибка
* 'mlp_user' - целочисленное значение - Идентификатор владельца сайта социальной сети MyLivePage, с которого к Вам пришёл покупатель
* 'sum' - значение в виде числа с плавающей запятой - Сумма заказа
**/
function get_order($orderid)
{
//необходимо получить данные о заказе по идентификатору заказа $orderid
/* здесь предполагаются какие-нибудь запросы к базе данных ... */
// установите переменные $error, $mlp_user, $sum
$error = false; // установите TRUE, если заказа не найден, не относится к заказам через MLP или не готов к обработке
$mlp_user = -1; // замените на найденное в параметрах заказа или покупателя значение
$sum = 0; // замените на найденное в параметрах заказа значение
return array('error'=>$error,'mlp_user'=>$mlp_user,'sum'=>$sum); // оставьте так
} |
Примечание:
- ) Согласно логике работы PHP, функция "get_order" должна быть определена раньше, чем она используется, поэтому необходимо, чтобы она была определена до строки $mlp_affliate_obj->process();
3.4. Найдите в программном обеспечении онлайн-магазина место, в котором сохраняется заказ, оформленный посетителем сайта. В этой функции необходимо в параметры заказа или покупателя записать идентификатор владельца сайта социальной сети MyLivePage, с которого пришёл покупатель, если конечно он пришёл именно оттуда. Ниже приведён пример модификации такой функции:
Quote:
// Эта функция в программном обеспечении Вашего онлайн-магазина может называться как угодно.
// Нам название этой функции неизвестно, пожалуйста найдите её сами
function some_function_to_store_ORDER( ... )
{
// ...
global $mlp_affliate_obj; // это объект для работы с платёжным сервером
$mlp_userid = $mlp_affliate_obj->mlp_user_get(); // эта функция берёт идентификатор из cookies браузера пользователя
if (false!==$mlp_userid) // этот код должен сработать только если идентификатор был найден в cookies
{
/* вот тут надо сохранить значение переменной $mlp_userid в параметрах заказа или покупателя в базу данных */
/* возможно, надо выполнить какие-нибудь запросы в базу данных ... */
}
// ...
} |
3.5. Найдите в программном обеспечении онлайн-магазина место, в котором оформленному заказу ставится признак "Оплачен". В этой функции необходимо уведомить сервер MyLivePage о совершённой продаже.
Quote:
// Когда заказ становится ОПЛАЧЕННЫМ (автоматически при использовании электронных денег
// или электронных рассчётных карт или вручную при использовании почтовых переводов или банковских переводов), необходимо уведомить об этом MyLivePage
// Эта функция в программном обеспечении Вашего онлайн-магазина может называться как угодно.
// Нам название этой функции неизвестно, пожалуйста найдите её сами
function some_function_to_make_ORDER_PAID( ... )
{
// ...
//допустим, что переменная $orderid хранит значение заказа
global $mlp_affliate_obj; // это объект для работы с платёжным сервером
$response = $mlp_affliate_obj->sell_request($orderid); // выполнить запрос на платёжный сервер
// переменная $response будет установлена в TRUE если запрос обработан успешно иначе надо повторить запрос позже
/* возможно, надо выполнить какие-нибудь запросы в базу данных ... */
// ...
} |
4. После произведённых изменений можно протестировать работу онлайн-магазина совместно с сетью MyLivePage. Режим тестирования включается опцией 'testmode' при создании объекта для связи с платёжным сервером MyLivePage следующим образом
Quote:
| $mlp_affliate_obj = new MLP_Affiliate(array('testmode'=>true)); |
Примерный порядок тестирования будет изложен чуть позже. После окончания тестирования не забудьте выключить режим тестирования.



