- Создатель Неизвестный пользователь (sd), отредактировано авг. 11, 2021
При подключении РП необходимо подготовить работу вашей системы для обработки сообщений, описанных в разделе “Получение дополнительных параметров”
Регистрация рекуррентного платежа
Рекуррентный платеж (РП) состоит из двух операций:
- платеж с регистраций РП recurrent_type=first
- РП по требованию recurrent_type=next
Для регистрации рекуррентного платежа отправляется обычный запрос на адрес https://partner.life-pay.ru/alba/input/ описанный в таблицах №1 и №2 плюс дополнительные параметры:
Имя параметра | Версия API | Значение | Примеры/примечания |
order_id | 1.0, 2.0 | Идентификатор заказа, длина 6-20 символов. | 123456 (минимально 6 знаков) Существует механизм проверки номера заказа (order_id) на уникальность. Это не ошибка. Предупреждение, которое вы видите в таких случаях - результат этой проверки. Пример ссылки, содержащей номер заказа: Пример алгоритма получения предупреждения:
Если вы хотите избежать такого поведения, передавайте новый номер заказа на каждый клик по кнопке из корзины или ссылке. Если вы продолжаете получать предупреждение "Уже существует заказ с order_id XXXXX. Старый номер XXXXXXXXX", значит ваш магазин по каждому клику присылает одно и то же. Вы можете убедиться в существовании транзакции с указанным в предупреждении "старым" номером, проверив раздел "Отчёты". |
payment_type | 1.0, 2.0 | тип оплаты, на который должен быть отправлен плательщик | spg spg_test (для тестов) |
recurrent_type | 1.0, 2.0 | Указание что платеж является рекуррентным, если значение равно:
| Если значение = ”first” то обязательными являются поля: email, order_id, recurrent_comment, recurrent_url, recurrent_period Если значение = ”next” то обязательными являются поля: |
recurrent_comment | 1.0, 2.0 | Текстовое описание за что производится регистрация РП | Текстовое поле. Передается опционально. |
recurrent_url | 1.0, 2.0 | Ссылка на подробное описание правил предоставления рекуррентного платежа | Пример: http://example.com/rules |
recurrent_period | 1.0, 2.0 | Период через который происходит очередное списание | На данный момент допустимо только значение: byrequest Необходимо передавать только в случае recurrent_type=first |
check | 2.0 | Подпись версии 2.0 – электронная подпись запроса. См. приложение №1 | Обязательна передача параметра 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 + recurrent_comment +recurrent_url + recurrent_type + recurrent_order_id + recurrent_period + secret_key | (УСТАРЕШЕЕ) Представляется в виде шестнадцатеричной строки. Поле secret_key это секретный ключ сервиса (устанавливается в ЛК). Данный параметр обязателен для рекуррентных операций. |
После получения корректного запроса Банк инициирует первый рекуррентный платеж.
По результатам платежа, Банк перенаправляет пользователя к партнеру и информирует плательщика на указанный e-mail ссылкой для отписки (деактивации) РП.
Банк через асинхронную нотификацию информирует партнера о успешной активации РП и оплате первой транзакции. Дополнительно к расширенной нотификации command=success передаются поля: recurrent_order_id и card с маскированным номером карты. См. описание нотификаций.
Если плательщик отказался от сохранения карты в нотификациях параметр recurrent_order_id будет отсутствовать.
Проведение второго и последующих платежей в РП (синхронная операция)
Партнер формует запрос на https://partner.life-pay.ru/alba/input/ с указанием основного набора параметров плюс:
Имя параметра | Версия API | Значение | Примеры/примечания |
payment_type | 1.0, 2.0 | Способ оплаты. | spg или spg_test |
recurrent_type | 1.0, 2.0 | “next”, фикисрованное значение для повторных РП. | “next” |
recurrent_order_id | 1.0, 2.0 | Cсылка на order_id первого РП, необходимо передавать order_id указанный при регистрации первого РП. Длина 6-20 символов. Указывается только для recurrent_type=next | 123456 (минимально 6 знаков) |
background | 1.0, 2.0 | Параметр указывающий на то, что запрос выполняется в фоновом режиме | 1 |
check | 2.0 | Подпись версии 2.0 – электронная подпись запроса. См. приложение №1 | Обязательна передача параметра 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 + recurrent_comment + recurrent_url +recurrent_type + recurrent_order_id + recurrent_period + secret_key | Представляется в виде шестнадцатеричной строки. Поле secret_key это секретный ключ сервиса (устанавливается в ЛК). Данный параметр обязателен |
Плательщик или система ТСП так же не переправляется на форму ввода карточных данных, а ожидает получения результатов операции оплаты через обработчик событий. Результат оплаты стандартно возвращается партнеру. Дополнительно к стандартной нотификации передаются поля: recurrent_order_id и card с маскированным номером карты. См. описание нотификаций.
Описание результата операций с background=1.
Отмена рекуррентного платежа (синхронная операция)
Для прекращения действия рекуррентного платежа необходимо отправить запрос с параметрами указанными ниже на URL: https://partner.life-pay.ru/alba/recurrent_change/
Имя параметра | Версия API | Назначение | Примеры/примечания |
operation | 1.0, 2.0 | Действие над рекуррентом, должно быть “cancel” | |
order_id | 1.0, 2.0 | order_id переданный при регистрации РП | |
service_id | 1.0, 2.0 | Идентификатор сервиса | |
check | 2.0 | Подпись версии 2.0 – электронная подпись запроса. См. приложение №1 | |
version | 2.0 | Строка. Обязательно для установки версии API, отличного от 1.0. Если не задано используется версия API 1.0. | 2.0 |
(устаревшее) check | 1.0 | (устаревшее) MD5 хеш от параметров: operation + service_id + order_id + secret_key. Где secret_key это секретный ключ сервиса. |
Нотификация о прекращении действия рекуррентного платежа
Если держатель карты отменяет подписку на рекуррентные платежи, формируется нотификация command=recurrent_cancel.
Если срок действия карты истек, привязка карты аннулируется и формируется нотификация с значением command=recurrent_expire.
- Нет меток