База знаний
Торговая платформа Pokupo.ru > Служба поддержки Pokupo.ru > База знаний

Поиск справки:


Протокол уведомления сайта продавца на платформе pokupo

Решение

Протокол уведомления сайта продавца

Для интеграции торговой платформы Pokupo с внешними системами учета продаж и для разработки внешних модулей, с целью расширения функционала и адаптации его к уникальным потребностям продавца, платформа Pokupo предоставляет возможность настроить систему автоматических уведомлений на внешний ресурс.

Если в настройках магазина указан адрес для уведомления сайта, система Pokupo будет автоматически направлять запросы на сайт продавца для получения разрешений на оплату и уведомления об успешной оплате заказа покупателем. Протокол предназначен для интеграции продаж с внешними системами учета продавца.

Все уведомления отправляются выбранным в настройках магазина методом уведомления: POST или GET.

Запрос разрешения оплаты заказа

Если в настройках магазина указана опция "Подтверждать заказ запросом к сайту", эта форма будет отправлена на сайт продавца перед оплатой покупателем. Сайт продавца должен вернуть в ответ ключевое слово YES для подтверждения заказа или сообщение о причинах отказа принять оплату за заказ.

Параметры запроса на разрешение оплаты заказа

Название

Название поля

Описание

Индикатор предварительного запроса

LMI_PREREQUEST

Для предварительного запроса равен 1 (единице)

Идентификатор магазина

LMI_PAYEE_PURSE

Целое число - идентификатор магазина в системе Pokupo. Отображается в настройках магазина.

Сумма счета за заказ

LMI_PAYMENT_AMOUNT

Общая цена товаров в заказе без суммы доставки и комиссий платежной системы.

Почта покупателя

LMI_PAYER_WM

Почта покупателя, оформившего покупку.

Внутренний номер счета магазина

LMI_PAYMENT_NO

В этом поле передается номер счета в соответствии с системой учета Pokupo или артикул продаваемого товара, если это продажа одного товара.

Флаг тестового режима

LMI_MODE

Всегда равен 0 (нулю)

Список товаров

PKP_LIST_ITEM_ORDER

Список товаров в JSON формате:

[
   {
    "numberGoods":"Артикул товара",
    "nameGoods":"Название товара",
    "countGoods":Количество,
    "priceGoods":Цена
    }
]

Цена доставки заказа

PKP_COST_SHIPPING

Стоимость доставки заказа покупателю

Комиссия платежной системы

PKP_COST_PAYMENT

Комиссия платежной системы, которая взимается с покупателя

 

Уведомление об успешной оплате заказа

Система автоматически направляет уведомления на указанный адрес сайта внешней системы учета продаж после получения оплаты за заказ оформленный в системе Pokupo. В ответ на оповещение сайт должен вернуть HTTP заголовок "200 OK", иначе отправка уведомления будет повторяться в пределах 3 суток.

Параметры уведомления об оплате заказа

Название

HTML Field Name

Описание

Идентификатор магазина

LMI_PAYEE_PURSE

Целое число - идентификатор магазина в системе Pokupo. Отображается в настройках магазина.

Сумма счета за заказ

LMI_PAYMENT_AMOUNT

Общая цена товаров в заказе без суммы доставки и комиссий платежной системы.

Логин покупателя

LMI_PAYER_PURSE

Логин покупателя в системе Pokupo

Почта покупателя

LMI_PAYER_WM

Почта покупателя, оплатившего заказ.

 

Внутренний номер счета магазина

LMI_PAYMENT_NO

В этом поле передается номер счета в соответствии с системой учета Pokupo или артикул проданного товара, если это продажа одного товара.

Внутренний номер счета в системе Pokupo

LMI_SYS_TRANS_NO

В этом поле передается номер счета в соответствии с системой учета Pokupo. Является уникальным в системе.

Внутренний номер платежа в сторонней системе оплаты

LMI_SYS_INVS_NO

Номер платежа, счета, квитанции в платежной системе, через которую был выполнен платеж

Флаг тестового режима

LMI_MODE

Всегда равен 0 (нулю)

Дата и время выполнения платежа

LMI_SYS_TRANS_DATE

Дата и время прохождения платежа в системе в формате "YYYYMMDD HH:MM:SS".

Код платежной системы

PKP_METHOD_PAYMENT

Код платежной системы через которую был принят платеж

Список товаров

PKP_LIST_ITEM_ORDER

Список товаров в JSON формате:

[
   {
    "numberGoods":"Артикул товара",
    "nameGoods":"Название товара",
    "countGoods":Количество,
    "priceGoods":Цена
    }
]

Цена доставки заказа

PKP_COST_SHIPPING

Стоимость доставки заказа покупателю

Комиссия платежной системы

PKP_COST_PAYMENT

Комиссия платежной системы, которая взимается с покупателя

Контрольная подпись

LMI_HASH

Контрольная подпись оповещения о выполнении платежа, которая используется для проверки целостности полученной информации и однозначной идентификации торговой платформы Pokupo как отправителя. Алгоритм формирования описан в разделе "Контрольная подпись данных о платеже".

Ключ магазина Merchant Key

LMI_SECRET_KEY

Значение Merchant Key, известное только продавцу и сервису Z-PaymentMerchant. Это поле будет пустым, если параметр "ResultURL" не обеспечивает секретность или не установлен флаг "Отправлять ключ магазина".

 

Контрольная подпись данных о платеже

После успешной оплаты покупателем заказа торговая платформа Pokupo высылает уведомление об успешной оплате на адреса сайта, указанный продавцом в настройках магазина. Рекомендуется проверять данные, полученные в уведомлении:

1. Проверить, действительно ли данные переданы от платформы Pokupo (Проверка источника данных)
2. Проверить, не исказились ли данные в процессе передачи (Проверка целостности данных)
3. Проверить сумму оплаты за заказ
4. Проверить id магазина

Проверка источника данных

Значение параметра "Пароль уведомления" должно быть известно только платформе Pokupo и продавцу. Исходя из этого, пароль уведомления может использоваться для аутентификации источника, приславшего данные о платеже за заказ. Продавец, может провести аутентификацию несколькими методами в зависимости от того, используется протокол HTTPS или нет:

Сайт использует протокол HTTPS

В этом случае продавец может производить аутентификацию источника данных двумя способами:

  1. Если продавец не желает проверять контрольную подпись, он должен установить флаг "Отправлять пароль уведомления" в значение "Да". В этом случае платформа Pokupo будет высылать пароль уведомления на веб-сервер продавца в поле "LMI_SECRET_KEY" при уведомлении об успешной оплате заказа. Продавец должен проверять его каждый раз, когда получает оповещение;
  2. Второй путь - это проверка контрольной подписи. Контрольная подпись формируется платформой Pokupo с учетом значения пароля уведомления и передается в поле "LMI_HASH".

Проверка подписи является более трудоемким методом, но он не требует передачи пароля уведомления через интернет.

Сайт продавца не обеспечивает секретность (не используется HTTPS)

В этом случае платформа Pokupo не высылает пароль уведомления независимо от установленного флага "Отправлять пароль уведомления". Поэтому для аутентификации источника оповещения об успешной оплате за заказ продавец должен проверять контрольную подпись.

Контрольная подпись данных о платеже

Контрольная подпись данных о платеже позволяет продавцу проверять, как источник данных, так и целостность данных, переданных на сайт внешней системы учета продаж. При формировании контрольной подписи платформа Pokupo "склеивает" значения полей, передаваемых в уведомлении, в одну строку в следующем порядке:

  1. Id магазина (LMI_PAYEE_PURSE);
  2. Цена товаров (LMI_PAYMENT_AMOUNT);
  3. Внутренний номер счета магазина (LMI_PAYMENT_NO);
  4. Флаг тестового режима (LMI_MODE);
  5. Внутренний номер платежа в сторонней системе оплаты (LMI_SYS_INVS_NO);
  6. Внутренний номер счета в системе Pokupo (LMI_SYS_TRANS_NO);
  7. Дата и время выполнения оплаты (LMI_SYS_TRANS_DATE);
  8. Пароль уведомления (LMI_SECRET_KEY);
  9. Логин покупателя (LMI_PAYER_PURSE);
  10. Почта покупателя (LMI_PAYER_WM).

Формируется последовательность из 32-х шестнадцатеричных цифр в соответствии алгоритмом Message Digest 5 (MD5).

Проверка контрольной подписи

Проверка контрольной подписи выполняется на сайте продавца по следующему алгоритму:

Сформируйте строку путем "склеивания" значений параметров, полученных в уведомлении, в том же порядке, что и при формировании контрольной подписи платформой Pokupo (см. выше). Помните, что при формировании подписи используется пароль уведомления;

Вычислите MD5 полученной строк;

Сравните полученное значение со значением параметра "LMI_HASH", полученного в уведомлении.

Внимание! Контрольная подпись LMI_HASH передается в верхнем регистре (заглавными буквами). Если сформированная подпись совпадает с полученной в уведомлении, значит данные не изменены, и их источник действительно платформа Pokupo.

Настоящий протокол разработан на основе протокола Web Merchant Interface. Это сделано для облегчения интеграции внешних систем учета продажи, для которых уже есть готовые модули интеграции с WebMoney Transfer.

 
Была ли эта статья полезной? ДА / НЕТ
Относящиеся статьи Настройка кода виджета оплаты
Инструкция для новичков pokupo. Открыть интернет-магазин бесплатно
Модерация магазина
Детали статьи
Идентификатор статьи: 2
Категория: Интеграция, экспорт и импорт
Дата добавления: 2015-03-19 08:44:31
Просмотры: 512
Рейтинг (Голоса): Рейтинг статьи 2.2/5.0 (17)

 
« Назад