Skip to main content

Запуск Lifepay из стороннего приложения

LifePay позволяет запустить собственное приложение для оплаты заказа из стороннего приложения.

Данный функционал может быть полезен, если заказы ведутся в собственном приложении курьера, а оплату необходимо провести через Lifepay. Приложение Lifepay оповещает запустившее его приложение о факте успешной оплаты и передаёт данные по оплате, что позволяет закрыть заказ в курьерском приложении.

Передача данных осуществляется открытием URL со схемой lifepay:// из браузера, либо нативного приложения Android.

Параметры

Параметры передаются аналогично GET-запросу, при этом значения должны быть URL-encoded

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

НазваниеЗначениеОбязательностьТребования к значению, комментарии
descriptionОписаниеобязательноКоличество символов: от 1 до 255 включительно.
amountСуммаобязательноЧисло – целое или вещественное (не более двух знаков после запятой).
currencyКод валютыобязательноПроверка, входит ли код валюты в список поддерживаемых валют (на данном этапе поддерживается только рубль, код = 643). Код валюты - числовой из ISO 4217.
app_idИдентификатор приложенияопциональноИдентификатор приложения, из которого делается вызов. Целое число (от 5 до 15 знаков).
customer_phoneМобильный телефон клиентаопциональноВ международном формате, без форматирования (712312345678). Валидный, согласно библиотеке Google LibPhoneNumber.
customer_emailE-mail клиентаопциональноДлина ≤ 64. Проверяется регулярным выражением [A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]\{2,4}.
additional_data замечаниеДанные для передачи обратно в приложение и межсерверной интеграцииопциональноДлина ≤ 1024. Передается на сервер без изменений.

Замечания

  1. Значение поля additional_data будет передано в уведомлении о транзакции.
  2. В случае, если после продажи сотруднику выставлено разрешение на фискализацию транзакции (раздел личного кабинета Фискализация → Сотрудники) посредством удаленной фискализации, и additional_data будет передано в приложение в корректном json-формате, поле callback_data уведомления о фискализации будет содержать его значение.

Примеры

URLВалидностьКомментарий
lifepay://?description=Test&amount=350.01&currency=643верный
lifepay://?description=Test&amount=35&currency=643&app_id=08884&customer_phone=75555555555&additional_data='{"id":343}'верный
lifepay://?description=Test&amount=350.001&currency=643неверный3 знака в дробной части
lifepay://?description=Test&amount=350.001неверныйНе передан код валюты

Реализация обратного перехода

Android

В файл AndroidManifest.xml нужно добавить (в ту активити, в которую будет осуществляться переход):

<intent-filter>
<data android:scheme="lifepay12345" />
<action android:name="com.lifepay.pay" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>

Где 12345 необходимо заменить на ID вашего приложения.

Параметры при обратном переходе

Параметры передаются аналогично GET-запросу, при этом сами значения - URL-encoded

НазваниеЗначениеВ каком случае передаетсяПример, комментарии
approvalКод авторизацииТолько при оплате картой30f9d
panЗамаскированный номер картыТолько при оплате картой4627838113 Выдаются первые 6 и последние 4 цифры PAN (4627 83** **** 8113)
additional_dataДанные для передачи обратно в приложение и межсерверной интеграцииТолько если были переданы в приложение'\{"id":343}'
createdДата и время транзакцииВсегда1373354378 Время в формате Unix/POSIX
numberНомер транзакцииВсегда13201319820070
descriptionОписаниеВсегдаOrder+%233
amountСуммаВсегда300.01
currencyКод валютыВсегда643