Закрытие Списаний с помощью Charge Closer

Модуль Charge Closer — фоновый процесс, следящий за системными сообщениями о завершении Заказов. Эти сообщения содержат ID Подписки и значение параметра Период удаления подписки для менеджера (в сутках), установленное для нее в Правиле предоставления (см. Создание Правила предоставления). Charge Closer получает сообщение о завершении Заказа и проверяет тип биллинга указанной Подписки. Если тип биллинга Подписки указан в настройках Charge Closer, то в зависимости от значения параметра Период удаления подписки для менеджера (в сутках) модуль делает одно из двух:

  • Период удаления подписки для менеджера (в сутках) равен -1 или 0 — вызывает API-метод Close charges для закрытия ее Списаний от имени Сотрудника Реселлера.
  • Период удаления подписки для менеджера (в сутках) больше 0 — создает отложенную операцию для вызова API-метода Close charges. Выполнение операции откладывается на N × 24 часа, где N — значение параметра.

Настройки Charge Closer хранятся в конфигурационном файле модуля и включают в себя:

  • URL для доступа к API v3 инсталляции.
  • Список типов биллинга, Списания по которым необходимо закрывать.
  • Список пар значений ID Реселлера и API-токена его Сотрудника для доступа к API. Списания по Подпискам закрываются как для указанного Реселлера, так и всех его нижестоящих Реселлеров.

Если Списания по Подписке не удалось закрыть, Charge Closer вызывает API-метод еще раз. Всего выполняется до 5 попыток с интервалом 60 секунд. Результаты выполнения записываются в журнал модуля.