Некоторым магазинам необходимо получать от пользователей повторяющиеся платежи — например оплату за периодические издания, ежемесячные подписки на новости и т.д.
Данная услуга доступна только по предварительному согласованию.
Для упрощения проведения таких платежей предусмотренно несколько сценариев:
Функционал сервиса доступен в разделе "Подписки" личного кабинета. С подробной инструкцией можно ознакомиться тут.
На первом этапе пользователь производит обычный платеж по выставленному счету, но помимо всех остальных параметров необходимо передать еще один специальный параметр Reccuring указывающий, что в дальнейшем платеж будет периодически повторяться. После успешной оплаты такого счета с помощью банковской карты, магазин получает возможность периодически повторять платеж уже без участия пользователя. Для этого магазин делает запросы на специальный URL, передавая обычные параметры и указывая номер счета, оплаченного на первом этапе.
https://auth.robokassa.ru/Merchant/Recurring
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>
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" на дочерний платёж означает создание операции, но не гарантирует успешное списание средств.
Параметр
Значение
Этот параметр показывает, что выставление данного счета будет повторяющимся. Принимает значение true
Магазин передает это параметр в вызове, направляемом на URL и указывает в нем номер счета первого платежа в серии повторяющихся платежей. Кроме того, в этом вызове передаются обычные обязательные и необязательные параметры, со следующими исключениями:
параметры PreviousInvoiceID и InvoiceID обязательно должны быть указаны в запросе;
InvoiceID должен быть сгенерирован магазином. Нельзя передавать пустое значение или 0
параметров IncCurrLabel, ExpirationDate, Recurring не должно быть в запросе;
PreviousInvoiceID не включается в формирование контрольной суммы SignatureValue.