Инструкция по ЛК HOME LIFEPAY (ИЭ)

Содержание:

  1. Навигация по ЛК.
  2. Саморегистрация в ЛК.
  3. Инструкции по выставлению оплат.
  4. API IPSP для инициирования оплат.
  5. Готовые модули эквайринга (поддерживают 54-ФЗ).
  6. Как выполнить возврат по операции.

1. Этот раздел поможет сориентироваться в ЛК Эквайринга (home.life-pay.ru) и его интерфейсной части.

В ЛК home.life-pay.ru имеется 3 основные вкладки. Ниже перечислены наиболее часто используемые функции

  1. Вкладка "Мой аккаунт". В данной вкладке можно установить email, привязанный к аккаунту. Получать или не получать на данный email ежедневные отчеты по транзакциям. Сменить пароль от учетной записи.

    Данные для входа приходят вам на почту:
  2. Вкладка "Аналитика". В данной вкладке можно увидеть список всех транзакций, в том числе неуспешных попыток или незавершенных попыток оплаты. В подразделе "Финансовые условия" можно уточнить, какая ставка применяется по договору:
  3. Вкладка "Интеграция". В данной вкладке содержатся ключи для интеграции оплат на сайт клиента. Также в данном разделе можно выставлять ссылки на оплату или сгенерировать код кнопки (см. ниже, инструкция 3).

2. Регистрация и восстановление доступа.

Регистрация в биллинге LIFE PAY:

Для создания новой учётной записи перейдите на страницу Контрольная панель онлайн-бизнеса. Воспользуйтесь формой регистрации нового клиента, кликнув по ссылке Быстрая регистрация, расположенной под окном авторизации.

Авторизация:

Войти в контрольную панель онлайн-бизнеса возможно двумя способами:

  • используя логин и пароль
  • одноразовые ссылки (используя только логин)

В качестве логина может использоваться электронная почта исключительно в тех случаях, когда аккаунт был зарегистрирован с помощью формы быстрой регистрации.
Аккаунты, регистрируемые сотрудниками Провайдера, могут содержать логин, совпадающий с доменом магазина.

Восстановление доступа:

В случае утери пароля восстановить доступ можно используя логин и почту по кнопке Восстановление пароля внизу страницы входа.

 

Это поможет вам протестировать интеграцию если еще не подключены к нашему сервису.

По умолчанию учётная запись создаётся с одним сервисом, имя которого совпадает с именем учётной записи + приписка "Демо". Его можно сразу использовать для тестирования интеграции.


Cоздание и настройка сервиса

Если у вас несколько магазинов, размещённых на разных серверах, мы предлагаем вам создать для каждого сайта отдельный Сервис. Вы сможете гибко управлять настройками каждого Сервиса, при этом учет транзакций будет общий.

В идентификации Сервиса при запросах участвуют его ID (указан слева в списке Сервисов) и secret_key.

Полная инструкция доступна по ссылке


Инструкции по выставлению оплат.

Способы инициирования транзакции:


Самое частое - выставление ссылки:

Короткая ссылка (создание заказа

Вы можете создавать специальную ссылку, которая сразу же открывает платёжное окно (без необходимости нажимать кнопку на веб-сайте). Это удобно, если продавать товары через социальные сети и мессенджеры (такие как Telegram, Instagram), выставлять различные счета на оплату и т.д.
Для создания ссылки перейдите во вкладку Интеграция - Сервисы и нажмите на(Создать кнопку). После этого кликните по гипертексту Создать ссылку

 

После заполнения обязательных полей и нажатия на Создать код кнопки появятся поля с ссылками (Длинная ссылка, Сокращенная ссылка). Используйте ту, что Вам удобнее.

 

Отправка ссылок для инициирования транзакции на почту плательщика
Дополнительные поля (email, phone, comment) вызываются кнопкой [+]. После нажатия кнопки "Отправить счёт" ссылка отправится на указанный Вами email.

 

Внимание!

Ссылка - это генератор. При каждом нажатии на ссылку плательщик формирует новую транзакцию. Транзакция может быть оплачена в течение следующих 48 часов, однако ссылка действует бессрочно! Если вы хотите ограничить срок действия ссылки, воспользуйтесь соответствующей опцией: отметьте чекбокс "ограничить срок до" и укажите дату и время окончания срока действия.

"Уже существует заказ с order_id XXXXX. Старый номер XXXXXXXXX"


 

Создание ссылки оплаты используя API:

На сервис https://partner.life-pay.ru/alba/build_link/input_short/ следует передать все параметры, которые пойдут в URL инициации платежа (/alba/input). Ответ будет в формате JSON. Если все данные указаны верно, то будет status=”ok”, а в “url” будет короткая ссылка. Описание доступных параметров тут

 

Пример инициирования
Запрос https://partner.life-pay.ru/a1lite/build_link/input_short/?name=testing_short_link&cost=120&key=CCyz/lg9bNA0jwgZn5zzfMkHp4xU5rLvdL8ZNMGDq0s=&default_email=&order_id=0
Формат ответа
{"status":"ok","url":"https:\/\/url.life-pay.ru\/YuA01ALd"}

Внимание!

Параметр "key" не должен содержать в себе знак "+". Ключ в ЛК генерируется при каждом посещении страницы. Если ключ содержит нежелательные символы, обновите страницу.


API IPSP для инициирования оплат.

Формат отправки данных в запросе от партнера.

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

В текстовом формате тут

 

Параметры необходимые для инициализации платежа:

Имя параметра Версия API Значение Примеры/примечания
key 1.0 Ключ (идентификатор сервиса), присваиваемый системой при «создании кнопки» в личном кабинете.
Обязателен для версии 1.0.
“b5/uqup/i/ueWBrRyp9V0n97zyHty5YtV5u/NW27nlk=
cost 1.0, 2.0 Сумма в рублях, которую клиент должен заплатить. Обязательный параметр. 100 (если сумма передаётся с копейками, то использовать разделитель "точка", напр. 100.65)
name 1.0, 2.0 Описание оплачиваемого товара/услуги. Отображается на странице оплаты. Обязательный параметр. Не более 128 символов. Пример: Заказ №212
email 1.0, 2.0 Электронная почта клиента
поле обязательно для рекуррентных платежей, для остальных вариантов оплаты необходимость ввода регулируется в настройках сервиса
test@test.com
phone_number 1.0, 2.0 Телефонный номер плательщика
необходимость обязательного ввода регулируется в настройках сервиса и параметрами платежного канала
74951234567
order_id 1.0, 2.0 Цифровое поле, обязательно
Номер заказа в системе партнера, должен быть уникальным. Дважды заказ с одинаковым order_id оплатить не удастся. Если нет необходимости определять каждый заказ, то значение order_id нужно сделать равным 0. Максимальная длина 64 символа.
Для рекуррентных платежей длина >=6 символов

100001

Допускается использование латиницы. Кириллица не поддерживается (будет получена ошибка при создание транзакции).

"Уже существует заказ с order_id XXXXX. Старый номер XXXXXXXXX"

comment 1.0, 2.0 Комментарий платежа. Вы можете передавать через него любую свою информацию. Информация переданная в данном параметре не отображается на странице оплаты и может использоваться для внутренних нужд магазина. Необязательный параметр. Текстовое поле, не более 512 символов
invoice_data 1.0, 2.0

Данные в формате json для фискального чека (см. API для 54-ФЗ)

Необязательный параметр для инициализации оплаты.

htmlspecialchars JSON
target_serial 1.0, 2.0 Опциональный параметр.
Серийный номер принтера для печати чека (см. API для 54-ФЗ).
199031000707
custom_fields 1.0, 2.0 Опциональный параметр. Предназначен для передачи дополнительной информации в различные каналы оплаты urlencoded словарь JSON
check* 2.0 Подпись версии 2.0 – электронная подпись запроса. См. приложение №1
Обязателен для версии 2.0

Обязательна передача параметра version=’2.0’ и service_id.

Параметр key в данном случае не требуется.

service_id 2.0 Идентификатор сервиса.
Обязателен для версии 2.0
121233
version 2.0 Строка. Обязательно для установки версии API, отличного от 1.0. Если не задано используется версия API 1.0. 2.0

check*

(устаревшее)

1.0 MD5 хеш от параметров: key + cost + name + email + order_id + comment + payment_type + secret_key

*

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

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


Готовые модули эквайринга (поддерживают 54-ФЗ).

Все готовые модули отображены в нашей базе знаний и доступны по ссылке

Или в базе знаний ЛК HOME LIFEPAY: https://confluence.life-pay.ru/pages/viewpage.action?pageId=63569948


Возврат платежей /refund

Система предполагает возможность провидения возврата по успешным транзакциям. Возврат можно провести из ЛК или посредством API.

Функционал активируется для выбранного сервиса и канала оплаты по отдельному согласованию. Возврат платежа может быть недоступен для определенных каналов.

Если канал оплаты не поддерживает возврат, будет выведено сообщение “Канал оплаты не поддерживает возвраты”

Для Visa/MasterCard/МИР возвраты:

  • проведенные день-в-день проходят без дополнительной комиссии и с минимальной задержкой. Зачисление денежных средств на счет плательщика происходит в течении 2 часов.
  • проведенные на следующий день облагаются комиссией и срок зачисления денежных средств может составлять до 7 рабочих дней, в зависимости от эмитента.
Операция возврата необратима! В случае если вы ошиблись с суммой возврата или id транзакции - обратитесь в техническую поддержку.

Перейдите в Личный КабинетАналитика→ Статистика. Найдите нужную транзакцию и нажмите "Запросить возврат":

Произойдет автоматическая переадресация на страницу управления возвратами, где необходимо указать сумму, причину и id возврата (опционально):

Если id возврата не указан, то система присвоит значение автоматически.


Множественный возврат

Для Visa/MasterCard/МИР возможно произвести несколько возвратов, в рамках одной транзакции. Это возможно, если один возврат был проведен на сумму, меньшую оригинальной.

Инициализация происходит со страницы управления возвратами Личный Кабинет → Инструменты → Сервисы → Возвраты (справа от основного окна).

Заполнить поля:

  • ID Транзакции в рамках которой будут инициироваться возвраты.
  • Сумма возврата за вычетом предыдущего\предыдущих возвратов.
  • Ваш ID возврата. Если возврат всего один, заполнять не обязательно.

После ввода данных и подтверждения, появится информационное сообщение и ранее созданный возврат:

 

Кликните на чекбокс и нажмите Создать.


Статусы

Операция возврата может находится в нескольких статусах:

  • В процессе - операция создана в системе и находится в процессе проведения;
  • В очереди - операция создана в системе и находится в очереди на выполнение;
  • Отменена - операция не завершена, возникла ошибка, обратитесь в техническую поддержку;
  • Выполнена - операция выполнена, возврат проведен. Чек возврата доступен в статистике транзакций по клику → transaction ID → показать чек.
Сумма возврата может превышать общую сумму транзакций за день. В этом случае возврат находится в очереди до тех пор, пока необходимая сумма накопится (до зачисления на расчётный счёт). После каждого перечисления на расчётный счёт сумма будет копиться заново. Провайдер не может взимать средства для возврата с расчётного счёта, поэтому в возвратах участвует только та сумма, которая накопилась за день.

Возврат по API

Для создания заявки через API необходимо выполнить POST запрос на адрес https://partner.life-pay.ru/alba/refund/

В запросе необходимо передать (Content-Type: “application/x-www-form-urlencoded”):

  • version – “2.0”
  • tid – id транзакции
  • amount – опциональный параметр, сумма указывается в формате xxx.xx. Если значение не указано - произойдет возврат всей суммы
  • reason – опциональный параметр – причина возврата
  • refund_ext_id - id возврата
  • check – Электронная подпись запроса. См. приложение №1

В ответ возвращается JSON с результатом обработки запроса:

  • Успех: {‘status’: ‘success’, ‘payback_id’: }
  • Неуспех: {‘status’: ‘error’, ‘message’: ”}

Результат определяет создание/инициализацию возврата в системе, но не сам процесс возврата денежных средств. Информацию о ходе выполнения операции следует смотреть на странице управления возвратами или в статистике.


SDK

  • php

1

2

3

4

5

6

7

8

$service = new AlbaService(SERVICE_ID, 'SERVICE_SECRET');

 

try {

$result = $service->refund(TRANSACTION_ID);

echo "Возврат поставлен в очередь, payback_id: " . $result->payback_id;

} catch (AlbaException $e) {

echo "Произошла ошибка:" . $e->getMessage();

}

  • python

1

2

3

4

5

6

7

8

from alba_client import AlbaService, AlbaException

 

service = AlbaService(SERVICE_ID, 'SERVICE_SECRET')

try:

result = service.refund(TRANSACTION_ID)

print("Возврат поставлен в очередь, payback_id: {}".format(result['payback_id']))

except AlbaException, e:

print("Произошла ошибка: {}".format(e))

  • Java

1

2

3

4

5

6

7

8

AlbaService = new AlbaService(SERVICE_ID, "SERVICE_SECRET");

 

RefundResponse refundResponse = service.refund(

RefundRequest.builder(response.getTransactionId())

.setAmount(new BigDecimal("REFUND_AMOUNT"))

.setReason("REFUND_REASON")

.build()

);