Skip to main content

Выставление счета

LifePay позволяет выставить счет на оплату клиенту на номер телефона или email-адрес. Проверить успешность оплаты можно посмотрев её статус в Личном Кабинете Lifepay, либо отдельным запросом. Сервис полезен владельцам собственных CRM-систем, сервисов и интернет-магазинов, так как позволяет принять платеж без необходимости использовать кардридер.

Для использования данного сервиса, необходимо подключение интернет эквайринга для вашей компании. По вопросам подключения, обратитесь в техподдержку Lifepay 8 800 555 23 62.

Пример письма с выставленным счетом, который отправляется клиенту:

Выставить счет

Тип запроса:

POST

Формат данных:

Данные в теле запроса предварительно сериализуются в json-формат

Адрес URL:

https://api.life-pay.ru/v1/bill

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

ПараметрТипОписаниеОбязательный
apikeyСтрокаАПИ-ключ компании в системе Lifepay. Узнать свой АПИ-ключ можно в личном кабинете LifepayДа
loginСтрокаЛогин администратора в системе Lifepay. Как правило, это номер телефона в формате 7xxxxxxxxxxДа
amountСтрокаСумма счета, округленная до двух знаков после запятой. Разделитель - точка. Примеры корректных значений: 100.00, 140, 25.50, 200.2Да
descriptionСтрокаОписание платежа (назначение счета). Это значение будет отражено в чеке покупателю.Примеры:1. Пицца Маргарита 30см2. Капучино 150мл x 1.0 = 250.00, Латте 300мл x 1.0 = 300.00, Бургер «007» x 1.0 = 250.00Да
customer_phoneСтрокаНомер телефона клиента на который выставляется счет в формате 7xxxxxxxxxxУсловие
customer_emailСтрокаEmail-адрес клиента на который выставляется счет. Пример корректного формата: mail@mail.ruНет
methodСтрокаМетод оплаты. Возможные значения:sbp (по умолчанию) - платеж через сервис быстрых платежей. Покупателю приходит ссылка по SMS или email с ссылкой для оплаты.internetAcquiring - платеж через интернет эквайринг. Покупателю приходит ссылка по SMS или email с ссылкой на форму оплаты.mobileCommerce - платеж с баланса телефона. Покупателю приходит подтверждающий запрос на мобильный телефон.Нет
callback_urlСтрокаURL для отправки уведомления о смене статуса оплаты счета. Будет сформировано оповещение о транзакции на заданный URL. Сопоставить счет можно по полю number в ответе на запрос создания счета и по соответствующему полю в уведомлении. Пример заполения поля callback_url : https://myservice.local/lifepay_handlerНет
Замечание:
  1. В случае использования метода оплаты mobileCommerce, аттрибут customer_phone является обязательным, в ином случае аттрибут обязательным не является.
  2. В случае, если description передается в формате <товар 1> x <кол-во> = <сумма>[, <товар 2> x <кол-во> = <сумма>] как из примера 2, позиции в чеке и счете на оплату будут разбиты на отдельные строчки.

Пример успешного ответа:

формат json
Object
(
[code] => 0
[message] =>
[data] => Object
(
[status] => 15
[number] => 18948962804043
[created] => 1476091037
[interval] => 5
[paymentUrl] => https://qr.nspk.ru/BD1354320168NM3Q3VV86RQ102DHQD6FI33?type=02&bank=100000000007&sum=36900&cur=RUB&crc=A2F1
[paymentUrlWeb] => https://web.qr.nspk.ru/BD1354320168NM3Q3VV86RQ102DHQD6FI33?type=02&bank=100000000007&sum=36900&cur=RUB&crc=A2F1
)

)

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

ПараметрТипОписание
codeЦелоеНомер ошибки. 0, если операция успешна.
messageСтрокаСообщение. Поле не содержит значения, если операция успешна.
dataОбъектДанные операции.

Описание поля data

ПараметрТипОписаниеКомментарий
statusЦелоеСтатус операции. 0 - инициирована, 10 - успешна, 15 - ожидает подтверждения, 20 - неуспешна, 30 - отменена.
numberЦелоеУникальный номер транзакции.
createdЦелоеДата и время транзакции. Формат Unix timestamp, UTC+0.
intervalЦелоеРекомендуемый интервал проверки статуса операции в секундах. Рекомендуется использовать это значение между интервалами запросов на проверку статуса операции пока она находится в статусе 15 (ожидает подтверждение).
paymentUrlСтрокаURL, который отправляется клиенту для оплаты. В случае, если в запросе не указаны customer_phone и customer_email данное значение может быть использовано менеджером магазина для отправки покупателю ссылки на оплату, например, в WhatsApp, Telegram и т.д.
paymentUrlWebСтрокаURL, который отправляется клиенту для оплаты. В случае, если в запросе не указаны customer_phone и customer_email данное значение может быть использовано менеджером магазина для отправки покупателю ссылки на оплату, например, в WhatsApp, Telegram и т.д. При переходе по данной ссылке клиенту будет предложено выбрать банк для оплаты.Данный URL возвращается только если метод оплаты = 'sbp'. Данный URL отправляется клиенту вместо paymentUrl.

Пример запроса на языке php:

$data = [];
$data['apikey'] = '{your_apikey}';
$data['login'] = '{your_login}';
$data['amount'] = 369.00;
$data['customer_phone'] = null;
$data['customer_email'] = 'mail@mail.ru';
$data['method'] = 'internetAcquiring';
$data['description'] = 'Пицца "Маргарита"';

$request = json_encode($data);

$url = "https://api.life-pay.ru/v1/bill";
$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $request);

$result = curl_exec($curl);
curl_close($curl);

$resultJson = @json_decode($result);

printf("Res: %s\n", print_r($resultJson ? : $result, true));

Проверить статус счета

Проверить статус оплаты выставленного счета.

Тип запроса:

GET

Адрес URL:

https://api.life-pay.ru/v1/bill/status

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

ПараметрТипОписаниеОбязательный
apikeyСтрокаАПИ-ключ компании в системе Lifepay. Узнать свой АПИ-ключ можно в личном кабинете LifepayДа
loginСтрокаЛогин администратора в системе Lifepay. Как правило, это номер телефона в формате 7xxxxxxxxxxДа
numberСтрокаНомер транзакции, полученный в ответе на запрос выставления счета. Разрешается использовать через разделитель несколько значений. Примеры корректных значений: 18948962804043, 18948962804043, 1529783787609Да

Пример успешного ответа:

формат json
Object
(
[code] => 0
[message] =>
[data] => Object
(
[18948962804043] => Object
(
[status] => 15
[msg] => Ожидает подтверждения
)

[15297837876093] => Object
(
[status] => 15
[msg] => Ожидает подтверждения
)

[12109942444003] => Object
(
[status] =>
[msg] => Не найден
)

)

)

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

ПараметрТипОписание
codeЦелоеНомер ошибки. 0, если операция успешна.
messageСтрокаСообщение. Поле не содержит значения, если операция успешна.
dataОбъектДанные операции. Содержит хеш-массив с данными о статусе операции. В качестве ключа используется номер транзакции.

Описание значений элементов хеш-массива data

ПараметрТипОписание
statusЦелоеСтатус операции. 0 - инициирована, 10 - успешна, 15 - ожидает подтверждения, 20 - неуспешна, 30 - отменена.
msgСтрокаТекстовый статус операции.

Пример запроса на языке php:

$data = [];
$data['apikey'] = '{your_apikey}';
$data['login'] = '{your_login}';
$data['number'] = '9999999999999';

$url = "https://api.life-pay.ru/v1/bill/status?".http_build_query($data);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$result = curl_exec($ch);

curl_close($ch);
$resultJson = @json_decode($result);

printf("Res: %s\n", print_r($resultJson ? : $result, true));

Отменить выставление счета

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

Тип запроса:

POST

Формат данных:

Данные в теле запроса предварительно сериализуются в json-формат

Адрес URL:

https://api.life-pay.ru/v1/bill/cancellation

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

ПараметрТипОписаниеОбязательный
apikeyСтрокаАПИ-ключ компании в системе Lifepay. Узнать свой АПИ-ключ можно в личном кабинете LifepayДа
loginСтрокаЛогин администратора в системе Lifepay. Как правило, это номер телефона в формате 7xxxxxxxxxxДа
numberСтрокаНомер транзакции, полученный в ответе на запрос выставления счета. Пример корректного значения: 18948962804043Да

Пример успешного ответа:

формат json
Object
(
[code] => 0
[message] =>
[data] => Object
(
)

)

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

ПараметрТипОписание
codeЦелоеНомер ошибки. 0, если операция успешна.
messageСтрокаСообщение. Поле не содержит значения, если операция успешна.
dataОбъектДанные операции. В случае успеха, объект пуст.

Пример запроса на языке php:

$data = [];
$data['apikey'] = '{your_apikey}';
$data['login'] = '{your_login}';
$data['number'] = '9999999999999';

$request = json_encode($data);

$url = "https://api.life-pay.ru/v1/bill/cancellation";
$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $request);

$result = curl_exec($curl);
curl_close($curl);

$resultJson = @json_decode($result);

printf("Res: %s\n", print_r($resultJson ? : $result, true));