Некоторым магазинам необходимо получать от пользователей повторяющиеся платежи — например оплату за периодические издания, ежемесячные подписки на новости и т.д.
Данная услуга доступна только по предварительному согласованию.
Для упрощения проведения таких платежей предусмотренно несколько сценариев:
Функционал сервиса доступен в разделе "Подписки" личного кабинета. С подробной инструкцией можно ознакомиться тут.
На первом этапе пользователь производит обычный платеж по выставленному счету, но помимо всех остальных параметров необходимо передать еще один специальный параметр Recurring указывающий, что в дальнейшем платеж будет периодически повторяться. После успешной оплаты такого счета с помощью банковской карты, магазин получает возможность периодически повторять платеж уже без участия пользователя. Для этого магазин делает запросы на специальный 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.