Карточная платформа.
Система может генерировать 2 типа карт.
Карта платежей используется для пополнения счета клиента. После успешного пополнения, карте присваивается состояние USE (Использовано).
Карта с прикреплёнными сервисами (универсальные карты) кроме сумы пополнения содержит логин и пароль для использования сервиса, например Internet. После покупки карты клиент может воспользоваться сервисом карты для входа в систему или просто пополнить имеющийся счёт. После успешного пополнения счёта сервисный акаунт анулируется и эти изменения фиксируются в сервисном журнале / System configuration/ History/. Если пользователь уже начал использовать сервис карты, то дальнейшее пополнение используя карту невозможно.
Создать таблицы в базе.
# mysql -D abills < db/Cards.sql
Подключение модуля. abills/libexec/config.pl
@MODULES = (
'Cards'
);
abills/libexec/config.pl
| $conf{CARDS_BRUTE_LIMIT}=5; | Количество неправильных попыток перед блокировкой пользователя. По умолчанию: 5. |
|---|---|
| $conf{CARDS_BRUTE_CLEAN_PERIOD}=2; | Количество дней через которое удаляется запись о неправильно вводе пин кода. По умолчанию 2 дня. |
| $conf{CARDS_PAYMENT_PIN_LENGTH}=8; | Длина пинкода. По умолчанию 8 символов. |
| $conf{CARDS_PIN_SYMBOLS}='0123456789'; | Символы используемые для генерации PIN кода. По умолчанию: 0123456789. |
| $conf{CARDS_SHOW_PINS}=1; | Показывать ПИН-коды карточек администратору |
| $conf{CARDS_LOGIN_PASSWD_SAME}=1; | Генерировать одинаковые логины и пароли для карточек с сервисами. |
| $conf{CARDS_PAYMENTS_EXTERNAL}='/usr/abills/misc/cards_external.sh'; | Запуск внешних программ после успешного пополнения счёта. |
Добавление дилера. Любой пользовательский акаунт может получить расширение дилер. Для этого нужно включить в акаунте эту функцию. / Customers/ Logins/ Information/
| Tarif plan | Тарифный план по которому будут сниматься деньги с дилера за сгенерированные карточки |
|---|---|
| Percentage | Процентная ставка от продаж карт |
| Disable | Блокировать |
| Registration | Дата регистрации |
| Comments | Комментарии |
Список дилеров
/ Customers/ Dealers/
| ID | ID Дилера |
|---|---|
| Name | Название |
| Address | Адрес |
| Registration | Дата регистрации |
| Percentage | Процентная ставка дилера |
| State | Состояние активности |
| Count | Общее количество полученных карт |
| Enable | Остаток непроданных карт |
/ System configuration/ Card System/ Internet carts/ Add/ При генерации карт с сервисами обязательно используете тарифные планы с параметром AGE (Время жизни) больше 0.
| Serial: | Префикс серии. |
|---|---|
| Begin: | Начало нумерации серии |
| Count: | Количество карт |
| Sum: | Сума для пополнения |
| Password / PIN | Пароль или пин-код для пополнения |
| Symbols: | Символы пароля/пин-кода пополнения |
| Size: | Количество символов в парле/пин-коде пополнения |
| Expire: | Время действительности карты. Дата, после которой карта считается недействительной |
После генерации 10 карт с серией AW и суммой 10.00, получааем список сгенерированных карт.
AW00000000000 64898159 10.00 0000-00-00 AW00000000001 34955747 10.00 0000-00-00 AW00000000002 24781747 10.00 0000-00-00 AW00000000003 63768698 10.00 0000-00-00 AW00000000004 49942143 10.00 0000-00-00 AW00000000005 91657427 10.00 0000-00-00 AW00000000006 58180403 10.00 0000-00-00 AW00000000007 75051326 10.00 0000-00-00 AW00000000008 52589145 10.00 0000-00-00 AW00000000009 42878392 10.00 0000-00-00
Описание колонок
| Login | Информация о логине |
|---|---|
| Prefix | Префикс логина |
| Begin | Первый номер логина. Следует за префиксом |
| Length: | Длина логина |
| File: | Получить список логинов и паролей из файла |
| Password | Пароль |
| Symbols: | Символы, которые используются при генерации пароля |
| Size: | Длина пароля |
Описание процесса импорта
В системе есть возможность загрузить логины, пароли и другую сопутствующую информацию о пользователях из текстового файла. Очень удобно при миграции из других биллинговых систем.
Влияющие параметры из libexec/config.pl
# Длина пароля не менее
$conf{PASSWD_LENGTH}=6;
# Максимальная длина логина
# По умолчанию 16 но не более 20
$conf{MAX_USERNAME_LENGTH}=15;
# В логине возможно использовать только
# По умолчанию маленькие латинские буквы, цифры и символ подчёркивания(только не первым символом)
$conf{USERNAMEREGEXP}="^[a-z0-9_][a-z0-9_-]*\$";
После подключения модуля Cards появляется
меню / Customers/ Users/ Internet / Internet cards/
Все значения, явно не указанные в файле для импорта, берутся из полей на данной странице,
внимательно проверьте их перед нажатием кнопки «Create».
Обратите внимание, что если указана дата активации (не «0000-00-00»), то, в зависимости
от тарифного плана, будут сделаны все необходимые расчёты с соответствующим изменением депозитов.
[LOGIN][tab][PASSWORD][tab][EXPRESION…]
Разделитель для данных символ табуляции.
^LOGIN | Логин |
| PASSWORD | Пароль. Если в поле PASSWORD прочерк »-» система автоматически генерирует пароли. |
|---|---|
| EXPRESSION | Дополнительные параметры. Формат НАЗВАНИЕ=«ЗНАЧЕНИЕ». |
После подключения модуля Cards появляется меню / Customers/ Users/ Internet/ Internet carts/
Информация о акаунте
| 1.ACTIVATE | Дата активации аккаунта |
|---|---|
| 1.EXPIRE | Дата окончания аккаунта |
| 1.COMPANY_ID | АйДи компании |
| 1.CREDIT | Кредит |
| 1.GID | Ид группы |
| 1.REDUCTION | Скидка |
| 1.DISABLE | Статус логина |
Персональная информация
| 3.ADDRESS_BUILD | Номер дома |
|---|---|
| 3.ADDRESS_FLAT | Номер квартиры |
| 3.ADDRESS_STREET | Улица |
| 3.COMMENTS | Комментарии |
| 3.CONTRACT_ID | Номер контракта |
| 3.CONTRACT_DATE | Дата контракта |
| 3.EMAIL | E-mail адрес |
| 3.FIO | Имя отчество |
| 3.PHONE | Телефон |
| 3.PASPORT_NUM | Номер паспорта |
| 3.PASPORT_DATE | Дата выдачи паспорта |
| 3.PASPORT_GRANT | Учреждение,которое выдало паспорт |
| 3.ZIP | индекс |
| 3.CITY | Город |
Для добавления дополнительных информационных полей указывается номер 3 и название поля в базе.
Пример:
3._second_address
Internet
| 4.CID | Caller ID |
|---|---|
| 4.FILTER_ID | АйДи фильтра |
| 4.IP | IP адрес |
| 4.NETMASK | Маска сети |
| 4.SIMULTANEONSLY | Одновременных соединений |
| 4.SPEED | Скорость |
| 4.TP_ID | АйДи тарифного плана |
| 4.CALLBACK | Флаг активности CallBack |
| 4.STATUS | Статус Сервиса |
Оплата
| 5.SUM | Сума |
|---|---|
| 5.DESCRIBE | Описание |
| 5.ER | Курс обмена |
| 5.EXT_ID | Внешний АйДи |
E-mail (Если подключён модуль Email к системе)
| 6.USERNAME | Имя логина для почтового ящика (Пример: USERNAME@DOMAIN_NAME) |
|---|---|
| 6.DOMAINS_SEL | ID домена |
| 6.COMMENTS | Комментарий |
| 6.MAILDIR | Каталог, в который будет складываться почта USERNAME@DOMAIN_NAME |
| 6.MAILS_LIMIT | Лимит на количество писем |
| 6.BOX_SIZE | Лимит на размер почтового ящика (в байтах) |
| 6.ANTIVIRUS | Активизировать антивирус для данного почтового ящика |
| 6.ANTISPAM | Активизировать фильтр спама для данного почтового ящика |
| 6.DISABLE | Заблокировать ящик. Сервер не будет принимать почту для данного ящика и сообщать о его блокировке. |
| 6.EXPIRE | Время истечения действия акаунта |
| 6.PASSWORD | Пароль на почтовый ящик |
Дополнительные параметры
| SKIP_ERRORS | игнорировать ошибки, возникшие при добавлении акаунтов и добавлять следующие. По умолчанию загрузка останавливается на первой случившейся ошибке |
|---|
Пример файла логинов. Переносятся логин, пароля, сума и ФИО:
petrov pasrddsword 5.SUM="10" 3.FIO="Petrov A V" test testpassword 5.SUM="2.5" 3.FIO="THis Is test" test2 test2pasrdds 5.SUM="6.0" 3.FIO="THis Is test2 user"
/ System configuration/ Card System/ Internet carts/
Состояние карт
| ENABLE | Карта активна |
|---|---|
| DISABLE | Карта блокирована |
| USED | Карта использована |
| DELETED | Удалён сервис карты но карта ещё активна для пополнения |
| RETURNED | Карта возвращена дилером |
Дата продажи карты
| SOLD | Время продажи карты дилером. Используется при начислении комиссии дилеру от проданных карт |
|---|
После изменения состояния карты или передачи её дилеру в поле Administrator вносятся данные об администраторе, сделавшем последние действия, и заносятся данные в системный журнал (/System configuration/ History/).
Список Серий
| Serial | Серия |
|---|---|
| Count | Количество карт |
| Sum | Общая сума на которую выписаны карты |
| Enable | Активных карт (Не активизированных) |
| Expire | Время окончания действия карты |
| Dillers | Количество карт отправленных дилерам |
| Added | Дата создания серии |
| Administrators | Администратор, создавший серию |
Список Карт
| Number | Номер карты |
|---|---|
| Serial | Серия карты |
| Login | Логин. \\Если карта с прикреплённым сервисом в поле отображается логин пользователя сервисом. Для карт пополнения это поле не заполнено. |
| Sum | Сума для пополнения на карте |
| Status | Статус карты. Статусы: Enable – Активна Disable – Блокирована Used – Использована Deleted - Уничтожен логин карты Returned - Возвращена |
| Expire | Дата окончания действия карты. По истечению этой даты карта считается нерабочей. |
| Added | Дата генерации карты |
| Dillers | Дилер |
| Date | Дата изменения статуса карты |
| Sold | Дата продажи карты |
| Administrators | Администратор, создавший карту |
| PIN | ПИН-код карты. Для карты с сервисом это пароль. Колонка отображается только, если включена опция $conf{CARDS_SHOW_PINS} |
В системе предусмотрена функция печати карточек оплаты и формирование шаблонов в формате PDF. Для работы с PDF форматом нужно установить Perl модуль .
Печать осуществляется на лист размером А4. Куда можно разместить 10 карточек.
При формирование печатной странички можно использовать следующие переменные шаблона.
| SERIAL_0 | Серийный номер |
|---|---|
| LOGIN_0 | Логин |
| PIN_0 | Пин или пароль карточки |
| TP_0 | Тарифный план для универсальной карточки |
| SUM_0 | Цена карточки |
| EXPIRE_0 | Дата окончания действия карточки |
| AGE_0 | Время дествия карточки с момента первого входа используется только для универсальных карт |
| TIME_LIMIT_0 | Предоплаченное время работы по данной карточке, только для универсальных карт. Время указывается в часах. |
Номер в конце переменно указывает место размещение данных по карточке на листе.
| 0 | 1 |
| 2 | 3 |
| 4 | 5 |
| 6 | 7 |
| 8 | 8 |
Также можно экспортировать уже созданные карточки в формат CSV. В файл экспорта заносятся следующие поля разделённые табуляцией: SERIAL LOGIN, PASSWORD/PIN, TARIF_PLAN, SUM, EXPIRE, AGE, TIME_LIMIT
(Поставляется как дополнение к карточному модулю)
Возможности
Установка
# cp dillers.cgi /usr/abills/cgi-bin/
После успешной установки интерфейс доступен за адресом
https://your.host:9443/dillers.cgi
Работа с системой
Для создания дилера нужно зайти в меню
/ Customers/ Logins/ Information/ Dillers/ и активизировать дилерский аккаунт.
/ Reports/ Cards/
Формирование отчётов по работе карточной системы