Содержание:
- Навигация по ЛК.
- Саморегистрация в ЛК.
- Инструкции по выставлению оплат.
- API IPSP для инициирования оплат.
- Готовые модули эквайринга (поддерживают 54-ФЗ).
- Как выполнить возврат по операции.
1. Этот раздел поможет сориентироваться в ЛК Эквайринга (home.life-pay.ru) и его интерфейсной части.
В ЛК home.life-pay.ru имеется 3 основные вкладки. Ниже перечислены наиболее часто используемые функции
- Вкладка "Мой аккаунт". В данной вкладке можно установить email, привязанный к аккаунту. Получать или не получать на данный email ежедневные отчеты по транзакциям. Сменить пароль от учетной записи.
Данные для входа приходят вам на почту: - Вкладка "Аналитика". В данной вкладке можно увидеть список всех транзакций, в том числе неуспешных попыток или незавершенных попыток оплаты. В подразделе "Финансовые условия" можно уточнить, какая ставка применяется по договору:
- Вкладка "Интеграция". В данной вкладке содержатся ключи для интеграции оплат на сайт клиента. Также в данном разделе можно выставлять ссылки на оплату или сгенерировать код кнопки (см. ниже, инструкция 3).
2. Регистрация и восстановление доступа.
Регистрация в биллинге LIFE PAY:
Для создания новой учётной записи перейдите на страницу Контрольная панель онлайн-бизнеса. Воспользуйтесь формой регистрации нового клиента, кликнув по ссылке Быстрая регистрация, расположенной под окном авторизации.
Авторизация:
Войти в контрольную панель онлайн-бизнеса возможно двумя способами:
- используя логин и пароль
- одноразовые ссылки (используя только логин)
В качестве логина может использоваться электронная почта исключительно в тех случаях, когда аккаунт был зарегистрирован с помощью формы быстрой регистрации.
Аккаунты, регистрируемые сотрудниками Провайдера, могут содержать логин, совпадающий с доменом магазина.
Восстановление доступа:
В случае утери пароля восстановить доступ можно используя логин и почту по кнопке Восстановление пароля внизу страницы входа.
Это поможет вам протестировать интеграцию если еще не подключены к нашему сервису.
По умолчанию учётная запись создаётся с одним сервисом, имя которого совпадает с именем учётной записи + приписка "Демо". Его можно сразу использовать для тестирования интеграции.
Если у вас несколько магазинов, размещённых на разных серверах, мы предлагаем вам создать для каждого сайта отдельный Сервис. Вы сможете гибко управлять настройками каждого Сервиса, при этом учет транзакций будет общий.
В идентификации Сервиса при запросах участвуют его 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 |
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
Система предполагает возможность провидения возврата по успешным транзакциям. Возврат можно провести из ЛК или посредством API.
Функционал активируется для выбранного сервиса и канала оплаты по отдельному согласованию. Возврат платежа может быть недоступен для определенных каналов.
Если канал оплаты не поддерживает возврат, будет выведено сообщение “Канал оплаты не поддерживает возвраты”
Для Visa/MasterCard/МИР возвраты:
- проведенные день-в-день проходят без дополнительной комиссии и с минимальной задержкой. Зачисление денежных средств на счет плательщика происходит в течении 2 часов.
- проведенные на следующий день облагаются комиссией и срок зачисления денежных средств может составлять до 7 рабочих дней, в зависимости от эмитента.
Перейдите в Личный Кабинет → Аналитика→ Статистика. Найдите нужную транзакцию и нажмите "Запросить возврат":
Произойдет автоматическая переадресация на страницу управления возвратами, где необходимо указать сумму, причину и id возврата (опционально):
Если id возврата не указан, то система присвоит значение автоматически.
Для Visa/MasterCard/МИР возможно произвести несколько возвратов, в рамках одной транзакции. Это возможно, если один возврат был проведен на сумму, меньшую оригинальной.
Инициализация происходит со страницы управления возвратами Личный Кабинет → Инструменты → Сервисы → Возвраты (справа от основного окна).
Заполнить поля:
- ID Транзакции в рамках которой будут инициироваться возвраты.
- Сумма возврата за вычетом предыдущего\предыдущих возвратов.
- Ваш ID возврата. Если возврат всего один, заполнять не обязательно.
После ввода данных и подтверждения, появится информационное сообщение и ранее созданный возврат:
Кликните на чекбокс и нажмите Создать.
Операция возврата может находится в нескольких статусах:
- В процессе - операция создана в системе и находится в процессе проведения;
- В очереди - операция создана в системе и находится в очереди на выполнение;
- Отменена - операция не завершена, возникла ошибка, обратитесь в техническую поддержку;
- Выполнена - операция выполнена, возврат проведен. Чек возврата доступен в статистике транзакций по клику → transaction ID → показать чек.
Для создания заявки через 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’: ”}
Результат определяет создание/инициализацию возврата в системе, но не сам процесс возврата денежных средств. Информацию о ходе выполнения операции следует смотреть на странице управления возвратами или в статистике.
- 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() ); |