Закрытие Списаний с помощью 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 секунд. Результаты выполнения записываются в журнал модуля.