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

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.
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 Набор полей, индивидуальных для клиента из оригинальной транзакции (для операции возврата/отмены - из платежа).