Сотрудник магазина, у которого есть право заверять подписью и печатью документы по возврату/замене товара и акты сверки.
1. Подготовить документы
Для тестирования интеграции сервисом paylate используйте следующие тестовые данные:
| # | Параметр | Значение |
|---|---|---|
| 1 | client_id |
1702082013 |
| 2 | login |
test |
| 3 | password |
test |
<script type="text/javascript" src="https://paylate.ru/js/partner_im.js" charset="utf-8"></script>
Передайте на странице завершения оформления заказа основные параметры и вызовите функцию создания кнопки paylate.ru.
| # | Параметр | Описание |
|---|---|---|
| 1 | client_id |
Идентификатор клиента (предоставляется сервисом Paylate, соответствует номеру договора) |
| 2 | order_id |
идентификатор заказа в Вашей БД |
| 3 | category |
Наименование основной категории товаров магазина (необязательный параметр) |
| 4 | goods |
Массив товаров в формате JSON. Данный массив может содержать один или несколько товаров. Товар определяется следующей структурой:
Перед отправкой JSON-строка (массив товаров) должна быть закодирована по типу контента application/x-www-form-urlencoded. Т.е. все не цифробуквенные символы, кроме – (минус), _ (подчеркивание) и .(точка) должны быть заменены знаком процента (%), за которым следует два шестнадцатеричных числа, а пробелы кодируются как знак сложения (+).
В PHP это делает функция urlencode. |
| 5 | token |
Токен, формируется как: md5(логин + md5(пароль) + номер_заказа) |
| 6 | result_url |
Адрес страницы для возврата клиента после совершения оплаты |
| 7 | fio |
Фамилия клиента (необязательный параметр) |
| 8 | fio1 |
Имя клиента (необязательный параметр) |
| 9 | fio2 |
Отчество клиента (необязательный параметр) |
<script>
// Массив товаров. Возможно формирование, например, на PHP функцией json_encode() из массива представленного в следующем блоке
// При формировании массива посредством js (а не как строки из массива, например, на PHP), необходимо передавать параметр goods следующим образом: JSON.stringify(PayLateGoods)!
var PayLateGoods = [{
"Name":"Мобильный телефон Apple", // Наименование товара
"Category":"Мобильные устройства", // Категория товара (необязательный параметр)
"Price":"35300.00", // Цена товара (за единицу)
"Count":"2", // Количество товаров
},
{
"Name":" Телевизор Samsung", // Наименование товара
"Category":"Электроника", // Категория товара (необязательный параметр)
"Price":"120000.00", // Цена товара (за единицу)
"Count":"1", // Количество товаров
}];
// Установка параметров
var SetPayLate = {
client_id : "1702082013", // Идентификатор Вашей организации
order_id : 235, // Идентификатор заказа в Вашей БД
category : "Мобильные устройства", // Категория товара (необязательный параметр)
goods : JSON.stringify(PayLateGoods), // Массив товаров. При формировании массива посредством js (а не как строки из массива, например на PHP), необходимо передать так: JSON.stringify(PayLateGoods)!
autostart : true, // Автоматическое открытие окна оплаты после загрузки страницы (по умолчанию false)
token : 'a4915d4c982ec5fdff65c79e6eb4f03b', // Токен для определения отправителя
image_type : 0, // Тип картинки-кнопки paylate
result_url: 'http://partner.ru', // Адрес страницы для возврата клиента после совершения оплаты
fio: 'Иванов', // Фамилия клиента (необязательный параметр)
fio1: 'Иван', // Имя клиента (необязательный параметр)
fio2: 'Иванович' // Отчество клиента (необязательный параметр)
}
// Отображение кнопки
PayLateButton(SetPayLate);
</script>
$login = "test"; // Логин Вашей организации в системе paylate
$password = "test"; // Пароль Вашей организации в системе paylate
$order_id = "235"; // Идентификатор заказа в вашей системе
$token = md5($login . md5($password) . $order_id); // Сформированный токен
// Пример массива товаров на PHP
$PayLateGoods = array(
array('Name'=>'Мобильный телефон Apple','Category'=>'Мобильные устройства','Price'=>'35300.00','Count'=>'2'),
array('Name'=>'Телевизор Samsung','Category'=>'Электроника','Price'=>'120000.00','Count'=>'1')
);
<script>
var PayLateGoods = <?php json_encode($PayLateGoods); ?>;
...
</script>
https://paylate.ru/bypartner следующие параметры:
| # | Параметр | Описание |
|---|---|---|
| 1 | client_id |
Идентификатор клиента (предоставляется сервисом Paylate, соответствует номеру договора) |
| 2 | order_id |
идентификатор заказа в Вашей БД |
| 3 | category |
Наименование основной категории товаров магазина (необязательный параметр) |
| 4 | goods |
Массив товаров в формате JSON. Данный массив может содержать один или несколько товаров. Товар определяется
следующей структурой:
Перед отправкой JSON-строка (массив товаров) должна быть закодирована по типу контента application/x-www-form-urlencoded. Т.е. все не цифробуквенные символы, кроме – (минус), _ (подчеркивание) и .(точка) должны быть заменены знаком процента (%), за которым следует два шестнадцатеричных числа, а пробелы кодируются как знак сложения (+).
В PHP это делает функция urlencode. |
| 5 | token |
Токен, формируется как: md5(логин + md5(пароль) + номер_заказа) |
| 6 | result_url |
Адрес страницы для возврата клиента после совершения оплаты |
| 7 | fio |
Фамилия клиента (необязательный параметр) |
| 8 | fio1 |
Имя клиента (необязательный параметр) |
| 9 | fio2 |
Отчество клиента (необязательный параметр) |
https://paylate.ru/bypartner.
<form action="https://paylate.ru/bypartner" target="_blank" method="post">
<input type="hidden" name="client_id" value="1702082013" />
<input type="hidden" name="order_id" value="235" />
<input type="hidden" name="category" value="Мобильные устройства" />
<input type="hidden" name="goods" value="%5B%7B%22Name%22%3A%22%D0%9C%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D1%82%D0%B5%D0%BB%D0%B5%D1%84%D0%BE%D0%BD%20Apple%22%2C%22Category%22%3A%22%D0%9C%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%20%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0%22%2C%22Price%22%3A%2235300.00%22%2C%22Count%22%3A%222%22%2C%22fio%22%3A%22%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%20%D0%9F%D0%B5%D1%82%D1%80%20%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%87%22%2C%22passport%22%3A%222803536798%22%7D%5D" />
<input type="hidden" name="token" value="a4915d4c982ec5fdff65c79e6eb4f03b" />
<input type="hidden" name="result_url" value="http://partner.ru" />
<input type="hidden" name="fio" value="Иванов" />
<input type="hidden" name="fio1" value="Иван" />
<input type="hidden" name="fio2" value="Иванович" />
<input type="hidden" name="action" value="by_partner" />
<input type="submit" name="submit_button" value="Передать" />
</form>
| # | Параметр | Описание |
|---|---|---|
| 1 | URL |
https://paylate.ru/bypartner |
| 2 | client_id |
Идентификатор клиента (предоставляется сервисом Paylate, соответствует номеру договора) |
| 3 | order_id |
идентификатор заказа в Вашей БД |
| 4 | sum |
Итоговая сумма заказа |
| 5 | goods |
Данный массив может содержать один или несколько товаров. Товар определяется следующей структурой:
|
| 6 | token |
Токен, формируется как: md5(логин + md5(пароль) + номер_заказа) |
| 7 | action |
Постоянный параметр, значение: by_partner |
| 8 | pregen |
Постоянный параметр, значение: 1 |
| 9 | result_url |
Ссылка для кнопки — «Вернуться на сайт магазина». |
https://paylate.ru/zxcas
array (
'URL' => 'https://paylate.ru/bypartner',
'POSTFIELDS' => 'client_id=1702082013&pregen=1&action=by_partner&sum=19880&token=1&order_id=1&goods=[{"Name":"BORK V705","Category":"Бытовая техника","Price":19880,"Count":1}]',
'RETURN_URL' => 'https://paylate.ru/zxcas',
)
<script
defer src="https://component-widget.paylate.ru/paylate-widget.umd.min.js"></script>
Указание атрибута defer обязательно.
В тело страницы необходимо добавить тег paylate-widget с указанием определенного набора атрибутов(параметров):
| # | Параметр | Тип данных | Описание |
|---|---|---|---|
| 1 | client_id |
String | Идентификатор партнера (предоставляется сервисом Paylate, соответствует номеру договора) |
| 2 | order_id |
String | идентификатор заказа в Вашей БД |
| 3 | goods |
Array | Данный массив может содержать один или несколько товаров.
Товар определяется следующей структурой:
|
| 4 | token |
String | Токен, формируется как: md5(логин + md5(пароль) + номер_заказа) |
| 5 | result_url |
String | Ссылка для кнопки — «Вернуться на сайт магазина» (необязательный параметр) |
| 6 | fio |
String | Фамилия клиента (необязательный параметр) |
| 7 | fio1 |
String | Имя клиента (необязательный параметр) |
| 8 | fio2 |
String | Отчество клиента (необязательный параметр) |
<paylate-widget
goods='[{"Name":"test","Price":"3000.00","Count":2}]',
token="701384c3c2000249ad7c46c26534d758",
order_id="9319572",
client_id="3212208052020",
result_url="https://lk.paylate.ru",
fio="Иванов",
fio1="Иван",
fio2="Иванович"></paylate-widget>
<script defer src=»https://component-widget.paylate.ru/paylate-widget.umd.min.js»></script>
— Создать страницу для встраивания виджета в представлениях: ./Views/Widget/Index.cshtml
На странице прописать тег paylate-widget с параметрами(значения для параметров передаются из контроллера):
<paylate-widget
goods=’@ViewBag.Goods’
token=»@ViewBag.Token»
order_id=»@ViewBag.OrderId»
client_id=»@ViewBag.ClientId»
category=»»
result_url=»»
fio=»»
fio1=»»
fio2=»»
></paylate-widget>
— Создать контроллер: ./Controller/WidgetController.cs
В контроллере создать action-метод:
public ActionResult Index()
{
ViewBag.Goods = ‘[{«Name»:»Мобильные вкусняшки»,»Price»:»5500.00″,»Count»:2}]’;
ViewBag.ClientId = _clientId;
ViewBag.OrderId = _orderId;
string token = BitConverter.ToString(MD5.Create().ComputeHash(Encoding.ASCII.GetBytes(partner.Login.ToString() + partner.Password.ToString() + orderId.ToString()))).ToLower().Replace(«-«, «»);
ViewBag.Token = token;
return View();
}
<script src=»https://component-widget.paylate.ru/paylate-widget.umd.min.js»></script>
— Создать страницу для встраивания виджета: widget.php
На странице прописать тег paylate-widget с параметрами:
<?php
$goods = ‘[{«Name»:»Вкусняшки»,»Price»:»3000.00″,»Count»:2}]’;
$token = md5($login . md5($password) . $_GET[‘order_id’]);
?>
<paylate-widget
goods='<?=$goods>’
token=»<?=$token?>»
order_id=»<?=$orderId?>»
client_id=»<?=$clientId?>»
category=»»
result_url=»»
fio=»»
fio1=»»
fio2=»»
></paylate-widget>
При регистрации Вам необходимо передать url результирующей страницы на вашем интернет-магазине
(например, /result_url.aspx или /paylate/url_result.php).
На данную страницу, после авторизации клиента на сервисе paylate.ru и получения согласия об оплате от клиента, Вам будут переданы следующие POST параметры:
| # | Параметр | Описание |
|---|---|---|
| 1 | order_id | идентификатор заказа в Вашей БД |
| 2 | state |
статус оплаты клиентом («-1» — отказ в пост-оплате, «0» – запрос системы paylate, «1» — оплачен) |
| 3 | sum | сумма оплаты |
| 4 | token | токен, формируется также как и при создании кнопки * |
| 5 | application_id | уникальный номер заявки в системе paylate |
token и сумму sum с суммой в Вашей БД по заказу order_id.
Если суммы совпадают и state = 1, можно производить отгрузку клиенту.
state=0 — вернуть RESULT:1 (есть возможность) или RESULT:0 (нет возможности);state=-1 — клиент отказался от оплаты;state=1 — клиент оплатил, при совпадении суммы и токена можно менять статус заказа на «оплачен».// Пример обработки результата оплаты клиентом
$order_id = $_POST["order_id"];
$login = "test";
$password = "test";
$token = md5($login . md5($password) . $order_id);
if ($token != $_POST["token"]) {
echo "RESULT:-1\nDESCR:ошибка определения источника запроса";
exit;
}
$approve = GetOrderApprove($_POST["order_id"], $_POST["sum"]);
if ($_POST["state"] == 0) {
if ($approve) {
echo "RESULT:1\nDESCR:актуален";
} else {
echo "RESULT:0\nDESCR:Ваш заказ был отменен менеджером";
}
}
if ($_POST["state"] == 1) {
if ($approve) {
SaveOrderState($_POST["order_id"], $_POST["application_id"], "оплатил");
echo "RESULT:1\nDESCR:статус оплатил";
} else {
echo "RESULT:0\nDESCR:Ваш заказ был аннулирован по сроку давности";
}
}
if ($_POST["state"] == -1) {
if ($approve) {
SaveOrderState($_POST["order_id"], $_POST["application_id"], "отказался");
echo "RESULT:1\nDESCR:отказ принят";
}
}
Если токен неверный → «RESULT:-1\nDESCR:ошибка определения источника запроса».
Если state=0 → проверка суммы и возможности отгрузки. Успех → «RESULT:1\nDESCR:актуален», ошибка → «RESULT:0\nDESCR:Ваш заказ был отменен менеджером».
Если state=1 → заказ найден, обновить статус «оплатил». Ответ → «RESULT:1\nDESCR:статус оплатил».
Если state=-1 → заказ найден, обновить статус «отказался». Ответ → «RESULT:1\nDESCR:отказ принят».
state-1 — отказ в пост-оплате0 — запрос Paylate к вашему сайту (нужно вернуть RESULT)1 — оплачен
Скрипт переназначен для интеграции сервиса PayLate с интернет-магазинов на платформе InSales. Так как InSales облачная система, отсутствует возможность вносить изменения в программный код, интеграция осуществляется через скрипт-посредник который получает данные, обрабатывает и передает дальше.
| # | Параметр | Описание |
|---|---|---|
| 1 | Идентификатор магазина | Идентификатор Вашей организации в PayLate |
| 2 | Пароль | Произвольная строка |
| 3 | URL внешнего сервиса | URL файла для последующего перенаправления в PayLate. Например, http:// paylate.domain.ru/payment.php |
config.php в любом текстовом редакторе. Комментарии внутриresult_test.php
UPLOAD распакуйте в корень Вашего сайта;
| # | Параметр | Значение |
|---|---|---|
| 1 | client_id |
1702082013 |
| 2 | login |
test |
| 3 | password |
test |
сайт\index.php?route=payment/paylate/callbackсайт\index.php?route=extension/payment/paylate/callbackДля использования сервиса PayLate в розничных магазинах, необходимо провести интеграцию с Вашим кассовым решением.
$login = "test"; // Логин Вашей организации в системе paylate
$password = "test"; // Пароль Вашей организации в системе paylate
$order_id = "235"; // Идентификатор заказа в вашей системе
$token = md5($login . md5($password) . $order_id); // Сформированный токен
content-type application/json
| # | Параметр | Описание |
|---|---|---|
| 1 | URL метода | https://paylate.ru/API/create_order |
| 2 | token | Токен, формируется как: md5(логин + md5(пароль) + номер_заказа) |
| 3 | order_id | идентификатор заказа в Вашей БД |
| 4 | goods | Массив товаров может содержать один или несколько товаров. Товар определяется следующей структурой:
|
| 5 | phone | 10 цифр номера телефона клиента |
| 6 | amount | Итоговая сумма товаров в чеке |
| 7 | initial_fee | Сумма первого взноса принимаемая в кассу магазина (необязательный параметр) |
| 8 | client_id | Идентификатор магазина в сервисе PayLate |
{
"token": "",
"order_id": "PRSL-1288",
"goods": [
{
"name": "Товар1",
"count": 1,
"amount": 30000.96
},
{
"name": "Товар2",
"count": 1,
"amount": 5200
}
],
"phone": "9001231212",
"amount": 35200.96,
"initial_fee": 500.00,
"client_id": "1524072013"
}
{"result":1, "message":""} //Заказ создан
{"result":0, "message":"текст ошибки"} //Ошибка
| # | Параметр | Описание |
|---|---|---|
| 1 | URL метода | https://paylate.ru/API/check_amount |
| 2 | token | Токен, формируется как: md5(логин + md5(пароль) + номер_заказа) |
| 3 | order_id | идентификатор заказа в Вашей БД |
| 4 | client_id | Идентификатор магазина в сервисе PayLate |
{
"token":"",
"order_id": "PRSL-1288",
"client_id":"1524072013"
}
//Успешный запрос, возвращается сумма заказа и сумма первого взноса
{
"result": 1,
"message": "",
"response": {
"amount_credit": "7217.0000",
"initial_fee": "1000.0000"
}
}
{"result":0, "message":"текст ошибки"} //Ошибка
| # | Параметр | Описание |
|---|---|---|
| 1 | URL метода | https://paylate.ru/API/approve_order |
| 2 | token | Токен, формируется как: md5(логин + md5(пароль) + номер_заказа) |
| 3 | client_id | Идентификатор магазина в сервисе PayLate |
| 4 | order_id | идентификатор заказа в Вашей БД |
| 5 | code | Код для получения заказа названный клиентом |
| 6 | amount | Итоговая сумма товаров в чеке |
| 7 | initial_fee | Сумма первого взноса принимаемая в кассу магазина (необязательный параметр) |
| 8 | is_check | При is_check = true производится проверка актуальности заказа, при отсутствии is_check, либо is_check = false — заказ подтверждается |
{
"token": "",
"client_id": "1524072013",
"order_id": "PRSL-1288",
"amount": 35200.96,
"initial_fee": 500.00,
"code": 12345,
"is_check": true
}
{"result":1, "message":""} //Заказ подтвержден
{"result":0, "message":"текст ошибки"} //Ошибка
is_check = true
| # | Параметр | Описание |
|---|---|---|
| 1 | URL метода | https://paylate.ru/API/refuse_order |
| 2 | token | Токен, формируется как: md5(логин + md5(пароль) + номер_заказа) |
| 3 | client_id | Идентификатор магазина в сервисе PayLate |
| 4 | order_id | идентификатор заказа в Вашей БД |
| 6 | amount | Итоговая сумма товаров в чеке |
{
"token": "",
"client_id": "1524072013",
"order_id": "PRSL-1288",
"amount": 35200.96
}
{"result":1, "message":""} //Заказ аннулирован
{"result":0, "message":"текст ошибки"} //Ошибка
Самый простой способ, подходит для сайтов с небольшим количеством заказов. Добавьте на сайт код платежной формы или создавайте заказы через личный кабинет на сайте PayLate. Уведомления об оформленных заказах будут приходить по электронной почте или Вы можете отслеживайте статус в личном кабинете.
| # | Параметр | Значение |
|---|---|---|
| 1 | client_id |
1702082013 |
<form action="https://paylate.ru/API/integration_form" method="post">
Номер заказа: <br /><input type="text" required name="order" value=""><br />
Наименование товара: <br /><input type="text" required name="goods" value=""><br />
Сумма заказа: <br /><input type="text" required name="sum" value=""><br />
<input type="hidden" name="client_id" value="укажите Ваш идентификатор"><br />
<input type="hidden" name="count" value="1">
<input type="submit" value="Оформить рассрочку">
</form>
Для получения сверки необходимо на URL https://paylate.ru/API/Recon, передать следующие POST параметры.
| # | Параметр | Описание |
|---|---|---|
| 1 | login |
Логин, выданный менеджером Paylate (обязателен) |
| 2 | token * |
токен формируется без указания номера заказа (обязателен) |
| 3 | dtStart |
дата начала выборки, формат dd.mm.yyyy |
| 4 | dtEnd |
дата окончания выборки, формат dd.mm.yyyy |
| 5 | state |
фильтр по статусу, целочисленный параметр (0 — отмененные заказы, 1- оплаченные заказы) |
| 6 | password |
Пароль, выданный менеджером Paylate (использутеся для формирования токена) |
token. см.Пример ниже.
Если параметры(dtStart, dtEnd, state) не переданы, выдается результат по всем статусам, за весь период.
Можно указывать, например, только один из параметров (dtStart, dtEnd или state). Т.е. если указать только
dtStart, то будет выполнен отбор всех заказов начиная с указанной даты по текущую. Если указать state=1, то будут
отобраны все заказы за весь период только со статусом «купил». state=0 — отмененные заказы.
$login = "test";
$password = md5('test');
$token = md5($login . $password);
post-параметры для выборки по всем заказам
$post_send = "login=" . $login . "&token=" . $token;
OR post-параметры для выборки по конкретному статусу
$post_send = "login=" . $login . "&token=" . $token . "&state=1";
OR post-параметры для выборки начиная с заданной даты
$post_send = "login=" . $login . "&token=" . $token . "&dtStart=01.06.2017";
$url = "https://paylate.ru/API/Recon";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $post_send);
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec( $ch );
print_r($response);
id заказа | дата внесения заказа | дата согласия или отказа клиента от заказа | статус(0-отказ, 1-купил) | сумма заказа
Акции помогают удержать внимание клиента и мотивируют его оформить покупку прямо сейчас, чтобы не упустить выгодное “горящее” предложение.
Средний чек на товары и услуги до подключения рассрочки и POS-кредита | Прирост среднего чего после подключения услуг |
|---|---|
До 4 000 ₽ | 55% |
От 4 000 ₽ до 9 500 ₽ | 35% |
От 9 500 ₽ до 15 000 ₽ | 24% |
От 15 000 ₽ до 57 000 ₽ | 17% |
Подберем специальные условия, чтобы лимиты максимально соответствовали целям вашего бизнеса.
Создадим кастомный продукт под специфику вашего магазина и ваших клиентов.
Предоставляем полный пакет материалов, документацию и поддержку — запуск занимает минимум времени и усилий.
Вы заранее видите комиссии, возможности сервиса и все правила работы — никаких скрытых платежей.
Вы можете работать как по модели вознаграждения от продаж, так и по выкупу портфеля, гибко управляя комиссиями и рисками.
Мы продумали CJM на каждом шаге, чтобы сделать использование рассрочки максимально удобным.
Мы растём вместе с вами: подстраиваем продукты под изменения бизнеса и рынка.
Не требуется оформление виртуальных карт или дополнительных документов — всё просто и удобно.
141407, Московская область, г. Химки, ул. Лавочкина, д. 2)
пн-пт (09:00-18:00)
Цифровой код, который клиент получает при предварительном одобрении займа.
Деньги, которые компания выдаёт клиенту на покупку товара или услуги. Заём нужно вернуть в срок и с оплатой по условиям договора.
Документ с правилами предоставления займа (Программа «Заём на товары»).
Документ с правилами предоставления займа (Программа «Заём на товары»).
Планшетный компьютер компании, который используется для оформления займов.
Магазин или предприниматель, который продаёт товары/услуги и работает по программе «Заём на товары».
Сотрудник магазина, который помогает клиенту оформить заём и провести оплату, а также делает возвраты и замены товара.
То, что клиент покупает в магазине за счёт займа: вещь, комплект товаров или услуга.
Магазин или отдел, где клиент может купить товар с использованием займа.
Предложение от компании клиенту с индивидуальными условиями займа. Когда клиент соглашается (акцепт), договор считается заключённым.
Предложение от компании клиенту с индивидуальными условиями займа. Когда клиент соглашается (акцепт), договор считается заключённым.
Документ, подтверждающий, что товар был куплен за счёт займа. В чеке указано наименование и стоимость товара.
Сотрудник магазина, у которого есть право заверять подписью и печатью документы по возврату/замене товара и акты сверки.