Skip to main content
Version: LIFE PAY Online 1.0

Переадресация клиента в систему Провайдера происходит с помощью следующей HTML­формы:

<form method="POST" class="application" accept-charset="UTF-8" action="https://partner.life-pay.ru/alba/input/">
<input type="hidden" name="key" value="8IR+noSkM/EMr8LNd1JjJd22ltodr6xeIrOImyywNNU=" />
<input type="hidden" name="cost" value="[СТОИМОСТЬ]" />
<input type="hidden" name="name" value="[НАЗВАНИЕ]" />
<input type="hidden" name="email" value="[EMAIL]" />
<input type="hidden" name="order_id" value="0" />
<input type="image" id="a1lite_button" style="border: 0;" src="https://partner.life-pay.ru/gui/images/a1lite_buttons/button_small.png" value="Оплатить" />
</form>

Общая информация о методе

Метод позволяет создавать инвойс (счёт на оплату) или просматривать его параметры, не прибегая к использованию клиентского личного кабинета. Так же в случае необходимости с помощью API вы можете изменить параметры сформированного инвойса.

Доступные действия с invoice по API

Создать счёт на оплату

Для создания счёта через API необходимо выполнить POST запрос на URL: https://api-ecom.life-pay.ru/v1/invoices/.

В заголовке запроса необходимо передать Content-Type: “application/json”. Авторизация осуществляется с помощью JWT Bearer, полученного в ответ на запрос https://api-ecom.life-pay.ru/v1/auth

Параметры запроса:

ПараметрТип объектаОписание
emailstring {email}email покупателя
phonestringтелефон покупателя
is_recurrentbooleanсогласие на проведение повторных списаний
send_receipt_throughstringотправить чек через (email, sms, nothing)
split_dataArray of objects (Split invoice fields)Данные о сплитованных платежах (опционально)
order_idstring {<= 64 characters}номер заказа на стороне интернет-магазина
amountnumber {float}сумма в валюте
currency_codestring Enum: "RUB" "EUR" "USD"валюта (по умолчанию RUB)
service_idint {int32}ИД сервиса (магазина)
namestring {1...128} charactersнаименование счета
commentstring {1...512} charactersкомментарий платежа
info

В параметр "comment" можно помещать любую сопутствующую информацию. Информация переданная в данном параметре не отображается на странице оплаты и может использоваться для внутренних нужд магазина. Необязательный параметр.

Поля, возвращающиеся в случае некорректного запроса:

ПараметрТип объектаОписание
messagestringтекст ошибки (опционально)
statusstringстатус сущности

Примеры

import http.client
import json

conn = http.client.HTTPSConnection("api-ecom.life-pay.ru")

headersList = {
"Accept": "*/*",
"User-Agent": "Thunder Client (https://www.thunderclient.com)",
"Content-Type": "application/json",
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiIsImtpZCI6ImlrYW9paW91eXRBb3V5ckRTVVRZT0FGU2l5U2ZvdHVBZ3lsU0FEIiwiZXhwIjoxNjgwNzAyNjkyLjczMTU2MX0.eyJleHAiOjE2ODA3MDI2OTIuNzMxNTYxLCJpbnZvaWNlX2lkIjpudWxsLCJzZXJ2aWNlX2lkIjo4MDcxNX0.yqCiB2P0YsyYhksv0b-ceRSkZ8fykCo2_G-GOdouHxgjbw5-B6xE_4oV8o7uSM4HW9yssa4jZeOY8418B5u4Eg"
}

payload = json.dumps({
"name": "New invoice on service 80715",
"email": "acq_integration@life-test.ru",
"phone": 79999999999,
"is_recurrent": false,
"send_receipt_through": "nothing",
"order_id": "order-Wed135206",
"amount": 213,
"currency_code": "RUB",
"service_id": 80715
}
)

conn.request("POST", "/v1/invoices", payload, headersList)
response = conn.getresponse()
result = response.read()

print(result.decode("utf-8"))

Поля, возвращающиеся в случае успеха:

ПараметрТип объектаОписание
order_idstring {<= 64 characters}номер заказа на стороне интернет-магазина
amountnumber {float}сумма в валюте
currency_codestring Enum: "RUB" "EUR" "USD"валюта (по умолчанию RUB)
service_idint {int32}ИД сервиса (магазина)
namestring {1...128} charactersнаименование счета
idstring {uuid}идентификатор счета
short_idstringинкрементальный идентификатор счета (удобно использовать при обращении в техподдержку)
statusstringopen - счет открыт; success - счет успешно оплачен; error - счет нельзя оплатить (истек)
emailstring {email}email покупателя
phonestringтелефон покупателя
is_recurrentbooleanсогласие на проведение повторных списаний
send_receipt_throughstringотправить чек через (email, sms, nothing)
recurrent_urlstring {uri}адрес с офертой для рекуррентных платежей
split_dataArray of objects (Split invoice fields)Данные о сплитованных платежах
Параметры объекта split_data для осуществления Сплит-платежа
ПараметрТип объектаОписание
order_idstring {<= 64 characters}номер заказа на стороне интернет-магазина
amountnumber {float}сумма в валюте
commentstring {<= 64 characters}комментарий
merchant_idstringидентификатор участника сплита

Поля, возвращающиеся в случае некорректного запроса:

ПараметрТип объектаОписание
messagestringтекст ошибки (опционально)
statusstringстатус сущности

Примеры

import http.client

conn = http.client.HTTPSConnection("api-ecom.life-pay.ru")

headersList = {
"Accept": "*/*",
"User-Agent": "Thunder Client (https://www.thunderclient.com)",
"Content-Type": "application/json",
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiIsImtpZCI6ImlrYW9paW91eXRBb3V5ckRTVVRZT0FGU2l5U2ZvdHVBZ3lsU0FEIiwiZXhwIjoxNjgwNjk0MTAwLjcxMDYzfQ.eyJleHAiOjE2ODA2OTQxMDAuNzEwNjMsImludm9pY2VfaWQiOm51bGwsInNlcnZpY2VfaWQiOjgwNzE1fQ.XnVKYPmx0Ci-V2_gZt3C32JO3RdgJ75daMhTkRfjwTLQqiJv69HkY2pK5zjt23g1Et8Z_FEzB1z0fktJmahAlQ"
}

payload = ""

conn.request("GET", "/v1/invoices/b7c183e8-82cb-4edd-bf48-1e082dbb34ed", payload, headersList)
response = conn.getresponse()
result = response.read()

print(result.decode("utf-8"))

Обновить параметры счёта на оплату

Для изменения параметров счёта через API необходимо выполнить PATCH запрос на URL: https://api-ecom.life-pay.ru/v1/invoices/\{invoice_id}/, где {invoice_id} ИД вашего счёта из вебхук-нотфикации или из запроса "создать счёт на оплату".

В заголовке запроса необходимо передать Content-Type: “application/json”. Авторизация осуществляется с помощью JWT Bearer, полученного в ответ на запрос https://api-ecom.life-pay.ru/v1/auth

Параметры, доступные к изменению запросом:

ПараметрТип объектаОписание
emailstringemail покупателя
phoneintegerтелефон покупателя
is_recurrentbooleanFalse (по умолчанию)
send_receipt_throughstringотправить чек через {email, sms, nothing}
recurrent_scheduleobject (опциональный)расписание рекуррентного платежа (доступно только для счетов с согласием на проведение повторных списаний)
Параметры объекта recurrent_shedule (опционально)
ПараметрТип объектаОписание
intervalstring{day, week, month, quarter}
frequencyinteger>=1

Ответ будет пустым, если изменения успешно применились. В противном случае вернётся JSON с текстом ошибки.

Поля, возвращающиеся в случае некорректного запроса:

ПараметрТип объектаОписание
messagestringтекст ошибки (опционально)
statusstringстатус сущности

Примеры

import http.client
import json

conn = http.client.HTTPSConnection("api-ecom.life-pay.ru")

headersList = {
"Accept": "*/*",
"User-Agent": "Thunder Client (https://www.thunderclient.com)",
"Content-Type": "application/json",
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiIsImtpZCI6ImlrYW9paW91eXRBb3V5ckRTVVRZT0FGU2l5U2ZvdHVBZ3lsU0FEIiwiZXhwIjoxNjgwNjk0MTAwLjcxMDYzfQ.eyJleHAiOjE2ODA2OTQxMDAuNzEwNjMsImludm9pY2VfaWQiOm51bGwsInNlcnZpY2VfaWQiOjgwNzE1fQ.XnVKYPmx0Ci-V2_gZt3C32JO3RdgJ75daMhTkRfjwTLQqiJv69HkY2pK5zjt23g1Et8Z_FEzB1z0fktJmahAlQ"
}

payload = json.dumps({
"name": "some-name",
"email": "dev@life-pay.ru",
"phone": 79999999999,
"is_recurrent": false,
"send_receipt_through": "email"
})

conn.request("PATCH", "/v1/invoices/b7c183e8-82cb-4edd-bf48-1e082dbb34ed", payload, headersList)
response = conn.getresponse()
result = response.read()

print(result.decode("utf-8"))
info

Принудительная проверка подписи активируется администратором Провайдера в настройках сервиса магазина.

Для рекуррентных операций необходимо передавать дополнительные поля, см описание работы рекуррентных платежей.