Skip to main content

Оповещение стороннего сервера о транзакции

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СтрокаНомер телефона покупателя (если указан оператором).
emailСтрокаE-mail покупателя (если указан оператором).
panСтрокаНомер карты покупателя (первые 6 и последние 4 цифры).
cardholderСтрокаИмя держателя карты.
rrnСтрокаRRN транзакции.
latВещественноеШирота точки, в которой была совершена транзакция.
lngВещественноеДолгота точки, в которой была совершена транзакция.
createdСтрокаДата совершения транзакции в ISO 8601.
purchasejsonМассив позиций, проданных через каталог. Поля каждой из позиций:name - наименование позиции;quantity - количество проданного товара;unit - единицы измерения проданного товара (возможные значения: l - литры, ml - миллилитры, kg - килограммы, g - граммы, piece - штуки);amount - итоговая сумма по позиции;ext_id - идентификатор товара во внешней системе (если позиция передана из сторонней системы).
orderjsonДанные о заказе. Поля:ext_id - идентификатор заказа во внешней системе (если заказ передан из сторонней системы);number - номер заказа;name - наименование заказа;phone - телефон клиента, указанный в заказе;email - e-mail клиента, указанный в заказе;comment - комментарий к заказу;barcode - штрих-код заказа.
add_fieldsjsonНабор полей, индивидуальных для клиента (будут отсутствовать, если поля клиентом не указаны).
original_add_fieldsjsonНабор полей, индивидуальных для клиента из оригинальной транзакции (для операции возврата/отмены - из платежа).