Оповещение стороннего сервера о транзакции
LifePay позволяет установить URL для получения уведомлений о факте транзакции в режиме реального времени. Установить URL можно в личном кабинете Lifepay в разделе Настройки -> Разработчикам. Установив этот параметр, по завершении каждой транзакции (и успешной, и неуспешной), сервер Lifepay будет посылать сообщение на сервер клиента. Сервер клиента, после успешной обработки уведомления, в ответ на запрос должен вернуть http код 200. Иначе сервер LifePay будет повторять запрос через определенные промежутки времени до получения http кода 200 или до подхода к максимальному лимиту на количество запросов по данному уведомлению. Промежутки повтора запроса: 1 минута, 3 минуты, 5 минут, 10 минут, далее – один раз в час. Всего допустимо не более 10 попыток отправки уведомления.
Тип запроса:
POST
Формат:
JSON
Пример данных:
data:
{
"number": "11555343112040",
"original_number": null,
"type": "payment",
"status": "success",
"method": "card",
"terminal_serial": "SCK016900UN12",
"recipient_inn": "1234567890",
"operator_login": "75555555555",
"operator_name": "Курьер Владимир",
"amount": "420.00",
"tip_amount": null,
"discount_amount": "0.00",
"description": "Заказ #245",
"phone": "75555555555",
"email": "mail@mail.ru",
"pan": "4268031078",
"cardholder": "IVANOV/IVAN",
"rrn": "001337454279",
"lat": 58.6266747000,
"lng": 68.5759087000,
"created": "2016-07-04T10:12:23+00:00",
"purchase": [
{
"name": "Картофель (кг)",
"quantity": "2.565",
"unit": "kg",
"amount": "120.00",
"ext_id": null
},
{
"name": "Молоко (уп)",
"quantity": "5",
"unit": "piece",
"amount": "300.00",
"ext_id": "articul231"
}
],
"order": {
"ext_id": "1",
"number": "ORD_13440",
"name": "Заказ 13442",
"phone": "75555555555",
"email": "mail@mail.ru",
"comment": "Клиент просил звонить после 19:00. Ленинская Слобода 19.",
"barcode": "9847198237"
},
"add_fields": {
},
"original_add_fields": {
}
}
Описание полей
Параметр | Тип | Описание |
---|---|---|
number | Строка | Номер транзакции в системе Lifepay |
original_number | Строка | Номер оригинальной транзакции в системе Lifepay. Для плетежей null , для возвратов number платежа. |
type | Строка | Тип транзакции. Возможные значения:payment - платеж,refund - возврат. |
status | Строка | Статус транзакции. Возможные значения:fail - отказ,success - успех. |
method | Строка | Метод совершения транзакции. Возможные значения:card - транзакция по карте,cash - транзакция наличными,recurrent - рекуррентная транзакция,internetAcquiring - транзакция по интернет эквайрингу,mobileInternetAcquiring - транзакция по SMS-эквайрингу. |
terminal_serial | Строка | Серийный номер терминала (если метод позволяет) |
recipient_inn | Строка | ИНН компании, на счет которой поступит оплата |
operator_login | Строка | Логин оператора, который провел транзакцию. |
operator_name | Строка | Имя оператора, который провел транзакцию. |
amount | Строка | Сумма транзакции, округлённая до двух знаков после запятой. |
tip_amount | Строка | Сумма чаевых, округлённая до двух знаков после запятой. |
discount_amount | Строка | Сумма скидки на весь чек, округленная до двух знаков после запятой. |
description | Строка | Описание транзакции (номер заказа и т.д.). |
phone | Строка | Номер телефона покупателя (если указан оператором). |
Строка | E-mail покупателя (если указан оператором). | |
pan | Строка | Номер карты покупателя (первые 6 и последние 4 цифры). |
cardholder | Строка | Имя держателя карты. |
rrn | Строка | RRN транзакции. |
lat | Вещественное | Широта точки, в которой была совершена транзакция. |
lng | Вещественное | Долгота точки, в которой была совершена транзакция. |
created | Строка | Дата совершения транзакции в ISO 8601. |
purchase | json | Массив позиций, проданных через каталог. Поля каждой из позиций:name - наименование позиции;quantity - количество проданного товара;unit - единицы измерения проданного товара (возможные значения: l - литры, ml - миллилитры, kg - килограммы, g - граммы, piece - штуки);amount - итоговая сумма по позиции;ext_id - идентификатор товара во внешней системе (если позиция передана из сторонней системы). |
order | json | Данные о заказе. Поля:ext_id - идентификатор заказа во внешней системе (если заказ передан из сторонней системы);number - номер заказа;name - наименование заказа;phone - телефон клиента, указанный в заказе;email - e-mail клиента, указанный в заказе;comment - комментарий к заказу;barcode - штрих-код заказа. |
add_fields | json | Набор полей, индивидуальных для клиента (будут отсутствовать, если поля клиентом не указаны). |
original_add_fields | json | Набор полей, индивидуальных для клиента из оригинальной транзакции (для операции возврата/отмены - из платежа). |