Периодические платежи

Документация сервиса

Документация сервиса Robokassa

Периодические платежи

Некоторым магазинам необходимо получать от пользователей повторяющиеся платежи — например оплату за периодические издания, ежемесячные подписки на новости и т.д.

Внимание!

Данная услуга доступна только по предварительному согласованию.

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

Готовое решение от нашего сервиса "Подписки"

Функционал сервиса доступен в разделе "Подписки" личного кабинета. С подробной инструкцией можно ознакомиться тут.

Самостоятельная интеграция с использованием синтаксиса и параметров ниже:

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

URL запроса:

Пример запроса с Recurring(материнский платёж):

html
  
1 2 3 4 5 6 7 8 9
<form method = "POST" action = "https://auth.robokassa.ru/Merchant/Index.aspx"> <input type = "hidden" name = "MerchantLogin" value = "demo"> <input type = "hidden" name = "InvoiceID" value = "154"> <input type = "hidden" name = "Description" value = "Оплата подписки"> <input type = "hidden" name = "SignatureValue" value = "9ada9c4f842cdc1163e5e97d0461a1de"> <input type = "hidden" name = "OutSum" value = "100"> <input type = "hidden" name = "Recurring" value = "true"> <input type = "submit" value = "Оплатить"> </form>

Пример запроса с PreviousInvoiceID(дочерний платёж):

html
  
1 2 3 4 5 6 7 8 9
<form method = "POST" action = "https://auth.robokassa.ru/Merchant/Recurring"> <input type = "hidden" name = "MerchantLogin" value = "demo"> <input type = "hidden" name = "InvoiceID" value = "156"> <input type = "hidden" name = "PreviousInvoiceID" value = "154"> <input type = "hidden" name = "Description" value = "Оплата подписки"> <input type = "hidden" name = "SignatureValue" value = "9ada9c4f842cdc1163e5e97d0461a1de"> <input type = "hidden" name = "OutSum" value = "100"> <input type = "submit" value = "Повторить оплату"> </form>

Внимание!

Ответ "OK+InvoiceId" на дочерний платёж означает создание операции, но не гарантирует успешное списание средств.

Параметр

Значение

Recurring

Этот параметр показывает, что выставление данного счета будет повторяющимся. Принимает значение true

PreviousInvoiceID

Магазин передает это параметр в вызове, направляемом на URL и указывает в нем номер счета первого платежа в серии повторяющихся платежей. Кроме того, в этом вызове передаются обычные обязательные и необязательные параметры, со следующими исключениями:

параметры PreviousInvoiceID и InvoiceID обязательно должны быть указаны в запросе;

InvoiceID должен быть сгенерирован магазином. Нельзя передавать пустое значение или 0

параметров IncCurrLabel, ExpirationDate, Recurring не должно быть в запросе;

PreviousInvoiceID не включается в формирование контрольной суммы SignatureValue.