CommuniGate Pro
Версия 6.0
Разное
 
 
Тарификация

Тарификация

Сервер CommuniGate Pro может работать как платформа для Тарификации.

Каждый Пользователь может иметь один или несколько Остатков. Модули и компоненты CommuniGate Pro могут списывать из этих остатков плату за услуги и пополнять остатки, осуществлять различные операции возмещения средств и т.п.

Для каждого Остатка поддерживается текущая сумма, учитывающая активные резервирования.

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

В качестве имени Остатка "по умолчанию" ("обычного" Остатка) используется пустая строка.

Денежные значения (денежные средства) представлены как целочисленные 64-битные целые значения со знаком.

Интерфейсы

Подсистема Тарификации CommuniGate Pro доступна для:


Операции

Доступны следующие операции Тарификации:

list
Эта операция возвращает все Остатки, доступные для этого Пользователя.
Параметры:
отсутствуют
Результаты:
balance
массив доступных названий Остатков.
credit
Эта операция добавляет средства к Балансу.
Параметры:
balance
строка: название Остатка Если Остаток с таким названием не существует, то он будет создан.
amount
неотрицательное число: зачисляемая сумма.
reference
строка: произвольные данные, используемые для указания ссылки, полезной при разрешении спорных ситуаций и т.д.
description
объект (обычно - строка или массив строк): произвольные данные, описывающие транзакцию.
Результаты:
amount
число: текущее значение Остатка.
удалить
Эта операция удаляет Остаток.
Обратите внимание: история Остатков не удаляется. Если текущее значение Остатка ненулевое, то в историю Остатков добавляется запись, обнуляющая значение Остатка.
Параметры:
balance
строка: название Остатка Остаток с таким названием будет удалён.
Результаты:
amount
число: значение удалённого Остатка.
reserve
Эта операция резервирует средства из Остатка. Зарезервированная сумма не может быть использована для оплаты других услуг. Резервирование может отменяться явно, с возвращением зарезервированных средств в Остаток, или оно может терять силу автоматически после заданного интервала времени.
Параметры:
balance
строка: название Остатка Этот Остаток уже должен существовать.
amount
неотрицательное число: резервируемая сумма.
reserve
строка, опционально: если этот параметр существует, то он должен указывать на существующий резерв. Сумма amount будет добавлена к этому резерву. Если этот параметр отсутствует, то создаётся новый резерв.
expires
отметка о времени, опционально: если этот параметр существует, то он определяет, когда закончится срок действия этой операции резервирования.
overdraft
опционально: если этот параметр существует, то с его помощью можно будет зарезервировать сумму, превышающую текущий Остаток. Если этот параметр не задан, то попытка зарезервировать сумму, превышающую текущий Остаток, будет отвергнута.
Результаты:
reserve
строка: имя резерва (аналогично параметру reserve, если он задан).
amount
число: текущее значение резерва.
release
Эта операция освобождает зарезервированные средства. Зарезервированная сумма зачисляется к Остатку.
Параметры:
balance
строка: название Остатка Этот Остаток уже должен существовать.
reserve
строка: имя существующего резерва.
Результаты:
reserve
строка: имя резерва (аналогично параметру reserve, если он задан).
amount
число: текущее значение Остатка.
charge
Эта операция списывает средства из Остатка или из резерва.
Параметры:
balance
строка: название Остатка Этот Остаток уже должен существовать.
amount
число: списываемая сумма.
reserve
строка, опционально: если этот параметр существует, то сумма списывается из существующего резерва. Если этот параметр отсутствует, то списывание осуществляется из Остатка.
overdraft
опционально, не может быть указан совместно с параметром reserve: задание этого параметра позволяет списать сумму, превышающую текущий Остаток. Если этот параметр не задан, то попытка списать сумму, превышающую текущий Остаток, будет отвергнута.
reference, description
аналогично операции credit.
Результаты:
amount
число: текущее значение Остатка или резерва.
expires
отметка о времени: время окончания срока действия операции резервирования (только если был указан параметр reserve и установлено время окончания срока действия).
read
Эта операция читает текущий Остаток или текущее значение резерва.
Параметры:
balance
строка: название Остатка Этот Остаток уже должен существовать.
reserve
строка, опционально: если этот параметр существует, то он должен указывать на существующий резерв. Операция читает это значение резерва. Если этот параметр отсутствует, то операция читает значение Остатка.
Результаты:
amount
число: текущее значение Остатка или резерва.
expires
отметка о времени: время окончания срока действия операции резервирования (только если был указан параметр reserve и установлено время окончания срока действия).
history
Эта операция читает журнал транзакций Остатка.
Параметры:
balance
строка: название Остатка Этот Остаток уже должен существовать.
timeFrom,timeTill
отметки о времени: Записи, которые были записаны, начиная с timeFrom (включительно) и до timeTill (не включая последнюю отметку).
limit
число: максимально число отображаемых записей.
Если это число положительно, то сначала возвращаются самые последние записи, а более старые отбрасываются при достижении лимита.
Если это число отрицательно, то сначала возвращаются самые старые записи, а более новые отбрасываются при достижении лимита.
Результаты:
history
массив записей с транзакциями. Каждая запись содержит следующие элементы:
Date
отметка о времени: время транзакции.
amount
число: сумма транзакции (положительно для операций credit).
balance
число: значение Остатка после этой транзакции.
reference, description
копии параметров операций credit и charge.

Руководство CommuniGate® Pro. Copyright © 1998-2009, Stalker Software, Inc.