Рекуррентные платежи — автоматические списания средств, которые выполняются с заданной периодичностью. Они не требуют повторного ввода данных банковской карты или электронного кошелька. В BILLmanager рекуррентные платежи используются для автоматического пополнения лицевого счёта (автоплатёж) и для создания подписок. Подробнее о настройках подписок см. Подписки.
В случае использования рекуррентных платежей для автопополнения лицевого счёта, пользователь один раз настраивает автоматическое пополнение счета и потом его баланс пополняется автоматически по мере необходимости.
В BILLmanager автоматическое пополнение счета происходит, когда на балансе клиента недостаточно средств и требуется оплатить услуги с автоматическим продлением или ежедневным списанием. Сумма каждого рекуррентного платежа формируется из прогнозируемых расходов на ближайший месяц.
Например, клиент заказал услугу виртуального хостинга за 150 рублей в месяц и включил для неё автопродление. Также клиент использует рекуррентные платежи. После оплаты заказа на счету клиента осталось 10 рублей.
Таким образом, прогнозируемый расход на ближайший месяц составит 140 рублей. Чтобы оплатить второй месяц использования хостинга, система выполнит рекуррентный платеж на 140 рублей. В следующем (третьем) месяце система выполнит рекуррентный платеж на полную стоимость услуги — 150 рублей.
Если автоматический платеж не удалось выполнить, то клиент получит уведомление "Ошибка проведения автоматической оплаты".
Настройка рекуррентных платежей
На стороне провайдера
Функцию рекуррентных платежей поддерживают методы оплаты:
Чтобы включить автоплатёж, перейдите в Провайдер → Методы оплаты → Изменить и включите опцию Рекуррентные платежи.
Эта опция также доступна на втором шаге добавления нового метода оплаты: Провайдер → Методы оплаты → Создать.
После активации флага на форме появятся настройки уникальные для каждого метода оплаты. Подробнее о них можно узнать в статье про конкретный метод оплаты.
На стороне клиента
На стороне клиента, управление рекуррентными платежами происходит на странице Финансы → Автоплатеж. Этот пункт меню скрыт если провайдер не настроил ни одного метода оплаты с поддержкой автоматического пополнения счета.На форме настройки клиент может выбрать предпочитаемый метод оплаты и указать лимит на сумму рекуррентного платежа. Чтобы создать автоплатёж без ограничения, клиент должен оставить поле Максимальная сумма платежей пустым.
Когда клиенту недостаточно лимита для выполнения автоплатежа, BILLmanager отправит ему на email "Уведомление о достижении месячного лимита автоплатежа". Отправка происходит только при первой за текущий месяц неудачной попытке совершить платёж.
Например, за месяц сумма автоплатежей клиента составляет 90 рублей и настроен лимит в 100 рублей. Наступает день автопродления ещё одной услуги на 20 рублей. Будущая сумма автоплатежей за месяц составит 110 рублей, что больше указанного лимита. В этом случае BILLmanager отменит платёж и уведомит клиента по email. При этом BILLmanager считает количество платежей не с первого числа месяца, а за месяц до даты очередного автоплатежа. Таким образом, если автоплатёж проводится 23 мая, BILLmanager посчитает все автоплатежи с 24 апреля до 23 мая включительно.
Нажатие Подтвердить перенаправляет клиента в платёжную систему, чтобы разрешить выполнение автоматических платежей на имя компании провайдера.
Когда создаётся платёж
Платёж будет создан, если на балансе клиента недостаточно средств и нужно оплатить услугу с автопродлением или ежедневным списанием. Сразу после создания начинается процесс оплаты.
В планировщике cron:
- задание на отправку уведомлений и пополнение баланса (если настроен автоплатёж):
BILLmanager low money notification
0 1 * * * /usr/local/mgr5/sbin/billmaintain --command warnmoney >/dev/null 2>&1
- задание на продление услуг через ССО или с баланса лицевого счёта:
BILLmanager daily billing
15 0 * * * /usr/local/mgr5/sbin/billmaintain --command billdaily >/dev/null 2>&1
Если не выполняется платёж
Проверьте логи
Если в процессе оплаты возникла проблема на стороне платёжной системы, то в BILLmanager платёж зависает в статусе "Новый". При этом в лог-файл /usr/local/mgr5/var/logs/billmgr.log будет добавлена строка вида:
core_module INFO Request [pm<payment_system>][root] 'func=payment.recurring.payerror&out=xml&payment=<payment_id>'
Чтобы получить информацию о возникшей проблеме, откройте лог соответствующей платёжной системы.
Ошибка Invalid_token
Если от платёжной системы приходит ответ invalid_token, то BILLmanager использует истёкший или неверный токен для авторизации. В этом случае в лог-файле платёжной системы есть строка вида:
libmgr ERROR Error: Type: '<payment_system>_error' Object: 'expired' Value: 'invalid_token'
Чтобы устранить проблему, в личном кабинете клиента настройте новый автоплатёж:
- Перейдите в Финансы → Автоплатёж.
- Отключите старый автоплатёж.
- Настройте новый.