Translations of this page:

Cards

Карточная платформа.
Система может генерировать 2 типа карт.

  • Карты платежей.
  • Универсальные карты с сервисами.

Карта платежей используется для пополнения счета клиента. После успешного пополнения, карте присваивается состояние USE (Использовано).
Карта с прикреплёнными сервисами (универсальные карты) кроме сумы пополнения содержит логин и пароль для использования сервиса, например Internet. После покупки карты клиент может воспользоваться сервисом карты для входа в систему или просто пополнить имеющийся счёт. После успешного пополнения счёта сервисный акаунт анулируется и эти изменения фиксируются в сервисном журнале / System configuration/ History/. Если пользователь уже начал использовать сервис карты, то дальнейшее пополнение используя карту невозможно.

Возможности

  • Генерация универсальных карт с логином и паролем. Данной картой можно как пополнять интернет так пользоваться как независемым аккаунтом.
  • Генерация карт платежей.
  • Генерация аккаунтов пользователей.
  • Генерация аккаунтов пользователей из файла с данными о них.
  • Контроль перебора карт и ошибочных вводов.
  • Учёт дилеров и отчёты о продажах.
  • Начисление процента дилеру от продаж.
  • Печать карт в формате PDF. Для данной функции нужно установить модуль PDF::API2 (http://search.cpan.org/~areibens/PDF-API2-0.71.001/)
  • Експорт карт в XML, CSV
  • Выполнение внешних программ после авторизации карточки

Screenshots

Администрирование карт пополнения счета
Администрирование карт пополнение

Форма оплаты
{{:abills:docs:modules:cards:user.png?300|Форма оплаты

Генерация аккаунтов для Dv модуля
Генерация аккаунтов для Dv модуля

Установка

Создать таблицы в базе.

# mysql -D abills < db/Cards.sql
# cp Cards.pm /usr/abills/Abills/mysql

Подключение модуля. 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'; Запуск внешних программ после успешного пополнения счёта.
$conf{CARDS_NUMBER_LENGTH}=11; длина номера карты. По умолчанию 11 символов
$conf{CARDS_PIN_ONLY}=1; Использовать только пин для пополнения

Дилеры

Добавление дилера. Любой пользовательский акаунт может получить расширение дилер. Для этого нужно включить в акаунте эту функцию. / Customers/ Logins/ Information/

Tarif plan Тарифный план по которому будут сниматься деньги с дилера за сгенерированные карточки
Percentage Процентная ставка от продаж карт
Disable Блокировать
Registration Дата регистрации
Comments Комментарии

Список дилеров
/ Customers/ Dealers/

ID ID Дилера
Name Название
Address Адрес
E-Mail E-mail
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

Описание колонок

  1. Серия для ввода в пользовательской форме. Оставляйте его незакрытым для учёта проданных карт. Серия состоит из 2 частей префикса и 11 цифр номера.
  2. Пин код (защетите его от постороних глаз)
  3. Сума пополнения.
  4. Дата, после которой карта считается недействительной.

Генерация Универсальных Карт (с сервисами)

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 Дополнительные параметры. Формат НАЗВАНИЕ=«ЗНАЧЕНИЕ».
Дополнительные параметры для модуля 'Dv'

После подключения модуля Cards появляется меню / Customers/ Users/ Internet/ Internet carts/

Информация о акаунте

1.ACTIVATE Дата активации аккаунта
1.EXPIRE Дата окончания аккаунта
1.COMPANY_ID АйДи компании
1.CREDIT Кредит
1.CREDIT_DATE Дата завершения кредита
1.GID Ид группы
1.REDUCTION Скидка
1.DISABLE Статус логина
1.UID UID абонента. По умолчанию заполняется автоматически. Явно использовать только в крайнем случае

Персональная информация

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 Внешний АйДи
5.DATE Дата произведения оплаты «0000-00-00 00:00:00» или «0000-00-00»

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 Пароль на почтовый ящик

Msgs (Если подключён модуль Msgs к системе)

7.UID UID
7.SUBJECT Тема сообщения
7.MESSAGE Сообщение

Bonus (Если подключён модуль Bonus к системе)

8.ACTION_TYPE Тип операции
0 - пополнение
1 - снятие
8.EXT_BILL_ID Номер дополнительного счета. Если не указывать автоматически подставляется
5.EXT_BILL_DEPOSIT Сума
8.DESCRIBE Описание
8.METHOD Тип оплаты
8.EXT_ID Дополнительный идентификатор операции
8.INNER_DESCRIBE Внутриние описание операции
8.EXPIRE Время истечения операции

Дополнительные параметры

SKIP_ERRORS=1 игнорировать ошибки, возникшие при добавлении акаунтов и добавлять следующие. По умолчанию загрузка останавливается на первой случившейся ошибке

Пример файла логинов. Переносятся логин, пароля, сума и ФИО:

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 карточек.
За печать карточек отвечают следующие шаюлоны:

  • cards_print.tpl - печать в HTML формате
  • cards_print.pdf - PDF шаблон
  • cards_print.dsc - файл разметки для PDF шаблона

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

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

Интерфейс Дилера

(Поставляется как дополнение к карточному модулю)

Возможности

  1. Генерация карт платежей произвольного номинала
  2. Дилер имеет возможность генерировать карты на суму своего депозита (депозит + кредит).
  3. Фомирования чеков для чековых принтеров (Например: D-Link DSA-3100P)
  4. Вывод отчётов для дилера

Установка

# cp dillers.cgi /usr/abills/cgi-bin/

После успешной установки интерфейс доступен за адресом

https://your.host:9443/dillers.cgi

Работа с системой
Для создания дилера нужно зайти в меню / Customers/ Logins/ Information/ Dillers/ и активизировать дилерский аккаунт.

Терминальный сервер

Также в интерфейс дилера встроен терминальный сервер который разрешает подключать к системе внешние программы для генерации карточек.

Протокол

  • Проверка активности сервера:
/dillers.cgi?cmd=ping

ответ

pong
  • Пополнение счета:

/dillers.cgi?cmd=pay&term=1234567&pswd=password&date=29.09.2010&time=10:55&sum=15

переменные

term ID терминалов (Указывается в опции $conf{CARDS_TERMINAL_IDS})
pswd пароль терминала (Указывается в опции $conf{CARDS_TERMINAL_PASSWD}
data дата пополнения
time время пополнения
sum сумма пополнения

ответ

err=no&series=14351431&pin=76543

err ошибка пополнения.
no - Выполнено без ошибок
ERR_WRONG_SUM - неправильно указана сума
EXIST - карточка уже существует
ERROR - другая ошибка
WRONG_TERMINAL_ID - Неправильный ID терминала
WRONG_PASSWORD - Указана неправильный пароль в переменной $conf{CARDS_TERMINAL_PASSWD}
DILLER_NOT_EXIST - Не указан дилер системы или не существует проверте опцию $conf{CARDS_TERMINAL_UID}
SMALL_DEPOSIT - У дилера слишком мало средств для создания карт
series Серия
pin пин

Переменные настройки

$conf{CARDS_TERMINAL_IP}='192.168.1.102'; IP адреса терминалов пополнения указываются через запятую
$conf{CARDS_TERMINAL_IDS}='1234567,12443'; ID терминалов оплаты указываются через запятую
$conf{CARDS_TERMINAL_PASSWD}='password'; Пароль авторизации терминалов
$conf{CARDS_TERMINAL_UID}='4810'; UID дилера системы через которого будут проходить операции выписки карт пополнения

Отчёты

/ Reports/ Cards/

Формирование отчётов по работе карточной системы

Перебор PIN кодов

В системе ведётся контроль перебора пин кодов если количество неправильный вводов больше значения переменной $conf{CARDS_BRUTE_LIMIT} (По умолчанию 5) система блокирует ввод данных по карточкам. Блокировка длится акпиод указанный в переменной $conf{CARDS_BRUTE_CLEAN_PERIOD} (по умолчанию 2 дня).
Журнал блокировок можно посмотреть в меню

/ System configuration/ Internet cards/ Brute Attack/

Список ошибок пользовательского интерфейса

600 Непредвиденная ошибка. Обратитесь в службу поддержки
601 Попытка перебора пин кодов карточки
602 Время действия карточки закончилось
603 Карточка не существует
604 Остаток на карточке не достаточный для пополнения
605 Неправильные параметры ввода карточки
606 Карточка уже использована
607 Карточка уже использована. Попытка DDos
608 По данной карточке уже произведена оплата
609 Ошибка на стадии зачисления средств на счёт
 
abills/docs/modules/cards/ru.txt · Последние изменения: 2012/01/23 16:20 — pigich
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki