Периодические платежи
О периодических платежах
Некоторым магазинам необходимо получать от пользователей повторяющиеся платежи — например, оплату за периодические издания или ежемесячные подписки на новости.
Данная услуга доступна только по предварительному согласованию.
Для упрощения проведения таких платежей доступны два сценария.
Готовое решение «Подписки»
Функционал сервиса доступен в разделе «Подписки» личного кабинета. Подробная инструкция опубликована в руководстве.
Самостоятельная интеграция
На первом этапе пользователь производит обычный платёж по выставленному счёту. Дополнительно передайте параметр Recurring, который показывает, что платёж нужно будет повторять. После успешной оплаты банковской картой магазин может инициировать повторные списания без участия пользователя. Для этого направляйте запросы на специальный URL, указывая номер счёта, оплаченного на первом этапе, и другие обязательные параметры.
URL для повторных списаний применяется только к дочерним операциям (recurring), а не к первому платежу.
URL запроса
https://auth.robokassa.ru/Merchant/Recurring
Пример запроса с параметром Recurring (материнский платёж)
<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 (дочерний платёж)
<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" на дочерний платёж означает создание операции, но не гарантирует успешное списание средств.
Успешность каждого повторного списания проверяйте через серверные уведомления (ResultURL/ResultUrl2) или XML-интерфейсы.
При передаче номенклатуры используйте рекомендации из раздела «Фискализация», чтобы избежать ошибок.
Параметры запросов
| ПАРАМЕТР | ЗНАЧЕНИЕ |
|---|---|
Recurring | Этот параметр показывает, что выставление данного счета будет повторяющимся. Принимает значение true. |
PreviousInvoiceID | Магазин передает этот параметр в вызове, направляемом на URL, и указывает в нем номер счета первого платежа в серии повторяющихся платежей. Кроме того, в этом вызове передаются обычные обязательные и необязательные параметры, со следующими исключениями:
|