Документация BILLmanager

Автопополнение лицевого счёта

Рекуррентные платежи — автоматические списания средств, которые выполняются с заданной периодичностью. Они не требуют повторного ввода данных банковской карты или электронного кошелька. В BILLmanager рекуррентные платежи используются для автоматического пополнения лицевого счёта (автоплатёж) и для создания подписок. Подробнее о настройках подписок см. Подписки.

В случае использования рекуррентных платежей для автопополнения лицевого счёта, пользователь один раз настраивает автоматическое пополнение счета и потом его баланс пополняется автоматически по мере необходимости.

В BILLmanager автоматическое пополнение счета происходит, когда на балансе клиента недостаточно средств и требуется оплатить услуги с автоматическим продлением или ежедневным списанием. Сумма каждого рекуррентного платежа формируется из прогнозируемых расходов на ближайший месяц. 

Например, клиент заказал услугу виртуального хостинга за 150 рублей в месяц и включил для неё автопродление. Также клиент использует рекуррентные платежи. После оплаты заказа на счету клиента осталось 10 рублей. 

Таким образом, прогнозируемый расход на ближайший месяц составит 140 рублей. Чтобы оплатить второй месяц использования хостинга, система выполнит рекуррентный платеж на 140 рублей. В следующем (третьем) месяце система выполнит рекуррентный платеж на полную стоимость услуги — 150 рублей. 

Если автоматический платеж не удалось выполнить, то клиент получит уведомление "Ошибка проведения автоматической оплаты". 

Настройка рекуррентных платежей


На стороне провайдера

Функцию рекуррентных платежей поддерживают методы оплаты:

Чтобы включить автоплатёж, перейдите в Провайдер → Методы оплаты → Изменить и включите опцию Рекуррентные платежи

Эта опция также доступна на втором шаге добавления нового метода оплаты: Провайдер → Методы оплаты → Создать.

После активации флага на форме появятся настройки уникальные для каждого метода оплаты. Подробнее о них можно узнать в статье про конкретный метод оплаты

На стороне клиента

На стороне клиента, управление рекуррентными платежами происходит на странице Финансы → Автоплатеж. Этот пункт меню скрыт если провайдер не настроил ни одного метода оплаты с поддержкой автоматического пополнения счета. 

На форме настройки клиент может выбрать предпочитаемый метод оплаты и указать лимит на сумму рекуррентного платежа. Чтобы создать автоплатёж без ограничения, клиент должен оставить поле Максимальная сумма платежей пустым. 

Когда клиенту недостаточно лимита для выполнения автоплатежа, BILLmanager отправит ему на email "Уведомление о достижении месячного лимита автоплатежа". Отправка происходит только при первой за текущий месяц неудачной попытке совершить платёж.

Например, за месяц сумма автоплатежей клиента составляет 90 рублей и настроен лимит в 100 рублей. Наступает день автопродления ещё одной услуги на 20 рублей. Будущая сумма автоплатежей за месяц составит 110 рублей, что больше указанного лимита. В этом случае BILLmanager отменит платёж и уведомит клиента по email. При этом BILLmanager считает количество платежей не с первого числа месяца, а за месяц до даты очередного автоплатежа. Таким образом, если автоплатёж проводится 23 мая, BILLmanager посчитает все автоплатежи с 24 апреля до 23 мая включительно.

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

Когда создаётся платёж


За создание платежей отвечает задание в планировщике cron: 

BILLmanager process autopayments
1 0 * * * /usr/local/mgr5/sbin/billmaintain --command recurring >/dev/null 2>&1

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

Параметр LowMoneyNoticePeriod в конфигурационном файле влияет на то, за сколько дней до окончания действия услуги будет создан автоплатёж.

Если не выполняется платёж


Проверьте логи

Если в процессе оплаты возникла проблема на стороне платёжной системы, то в 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>'
 Пояснения к строке лог-файла

payment_system — название платёжной системы. 

payment_id — код (id) платежа в BILLmanager. 

Чтобы получить информацию о возникшей проблеме, откройте лог соответствующей платёжной системы. 

 Лог-файлы платёжных систем

Яндекс.Касса — /usr/local/mgr5/var/ycresult.log

Adyen — /usr/local/mgr5/var/adyenrecresult.log

WebMoney с выпиской счёта — /usr/local/mgr5/var/pmwebmoneyas.log

Stripe — /usr/local/mgr5/var/pmstripe.log

PayMaster — /usr/local/mgr5/var/pmpaymaster.log

SimplePay — /usr/local/mgr5/var/simplepayrecurringresult.log

Ошибка Invalid_token

Если от платёжной системы приходит ответ invalid_token, то BILLmanager использует истёкший или неверный токен для авторизации. В этом случае в лог-файле платёжной системы есть строка вида:

libmgr ERROR Error: Type: '<payment_system>_error' Object: 'expired' Value: 'invalid_token'

Чтобы устранить проблему, в личном кабинете клиента настройте новый автоплатёж: 

  1. Перейдите в Финансы → Автоплатёж
  2. Отключите старый автоплатёж. 
  3. Настройте новый.