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

LifePay позволяет установить URL для получения уведомлений о факте транзакций в режиме реального времени. Установив это URL, по завершении каждой транзакции (и успешной, и неуспешной), наш сервер будет посылать вам сообщение. Сотрудники LifePay самостоятельно прописывают клиентский URL для уведомлений по заявке клиента. Сервер клиента, после успешной обработки уведомления, в ответ на запрос должен вернуть http код 200. Иначе сервер LifePay будет повторять запрос через определенные промежутки времени до получения http кода 200 или до подхода к максимальному лимиту на количество запросов по данному уведомлению. Промежутки повтора запроса: 1 минута, 3 минуты, 5 минут, 10 минут, далее – один раз в час. Всего допустимо не более 10 попыток отправки уведомления.

Версия 1.0 (устаревшая, не поддерживается)

Тип запроса:

POST

Пример данных:

data: 

{
    "created": "2013-07-31 08:12:23",
    "operation_type": "payment",
    "status": 1,
    "type_of_payment": null,
    "operation_number": 11555343112040,
    "username": "79263431379",
    "currency": 643,
    "amount": 50,
    "description": "Test transaction amount #",
    "buyer_phone": 75555555555,
    "buyer_email": "",
    "name": "",
    "add_fields": {

    }
}

Описание полей

Параметр Тип Описание
created Строка Дата и время проведения транзакции формате Y-m-d H:i:s в UTC+0
operation_type Строка Тип операции. Возможные значения: payment - платеж, refund – возврат
status Целое Статус транзакции. Возможные значения: 0 - отказ, 1 - успех.
type_of_payment Строка Зарезервировано. В настоящее время всегда null
operation_number Целое Уникальный номер транзакции
username Строка Логин пользователя, инициировавшего транзакцию. Номер телефона в международном формате XXXXXXXXXXX, без лидирующего “+”.
currency Целое Код валюты.
amount Вещественное Сумма транзакции, округленная до двух знаков после запятой.
description Строка Описание транзакции (номер заказа и т.д.).
buyer_phone Строка Номер телефона покупателя (опционально).
buyer_email Строка E-mail покупателя (опционально)
name Строка ФИО (название) оператора.
add_fields json Набор полей, индивидуальных для клиента (будут отсутствовать, если поля клиентом не указаны).

Версия 2.0 (рекомендуемая)

Тип запроса:

POST

Пример данных:

data:

{
    "number": "11555343112040",
    "type": "payment",
    "status": "success",
    "method": "card",
    "terminal_serial": "SCK016900UN12",
    "recipient_inn": "1234567890",
    "operator_login": "75555555555",
    "operator_name": "Курьер Владимир",
    "amount": "100.00",
    "tip_amount": "10.00",
    "discount_amount": "5.50",
    "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": {

    }
}

Описание полей

Параметр Тип Описание
number Строка Номер транзакции в системе Lifepay
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 Набор полей, индивидуальных для клиента (будут отсутствовать, если поля клиентом не указаны).