Описание

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

Настройка

Чтоб воспользоваться данным функционалом, нужно зайти в Настройка>Платежные системы>Внешняя команда.

Увидим следующую панель настроек.


Описание параметров

ПараметрОписаниеПример
Команда начала оплатыКоманда, которая выполнится, когда абонент выберет платежную систему для оплаты в кабинете абонента
start_script.pl
Команда окончания оплатыКоманда, которая выполнится, спустя время, заданное в графе «Время»end_script.pl
Команда осуществления оплатыКоманда выполняемая при оплате для абонентомpayment_script.pl
ИспользованийКоличество возможностей использования этих команд абонентом за месяц15
ВремяПромежуток времени между первой и последней командой(в минутах)5


Дополнительно

Внимание

Если вы пишите скрипт для Команды начала оплаты, в него, по необходимости, можно передать Логин, UID и IP абонента, для этого нужно прописать следующее:

start_script.pl %LOGIN% %UID% %IP%

И когда запустится команда, вашему скрипту будет передан массив значений, в том порядке, в котором вы прописали. То есть, в скрипт start_script.pl будут переданы 3 параметра:

$ARGV[0]Логин абонента
$ARGV[1]UID абонента
$ARGV[2]

IP адрес абонента


Если вы пишите скрипт для Команды окончания оплаты, в него, по необходимости, можно передать UID и IP абонента, для этого нужно прописать следующее:

start_script.pl %UID% %IP%

И когда запустится команда, вашему скрипту будет передан массив значений, в том порядке, в котором вы прописали. То есть, в скрипт end_script.pl будут переданы 3 параметра:

$ARGV[0]UID абонента
$ARGV[1]IP адрес абонента


Возврат кодов из скрипта

Также система может следить за выполнением скрипта и реагировать на ошибки. Если скрипт возвращает текст в формате Номер:текст система отобразит текст в сообщении и прекртатит работу.

Номера, при которых, система сделает условленные действия:

1Покажет кнопку для установки кредита абонентом. В тексте, который возвращает скрипт, можно написать, например, следующее - «Доступ в Интернет ограничен. Воспользуйтесь кредитом!»


Запуск плагина, который будет мониторить и запускать команду окончания оплат.

Можно запускать в ручную или добавить в crontab.

*/10  * * * * root /usr/abills/libexec/billd paysys_external_commands


Примеры:

Huawei ME60


Старт скрипт:

При старте гостевой абонент переключается на user_ugrop - ($conf{ME60_STATIC_USER_GROUP}  или  $conf{ME60_NAT_USER_GROUP})

В зависимости от того какой IP адрес у клиента подставляется следующая переманная.

статический -> $conf{ME60_STATIC_USER_GROUP} 

серый → $conf{ME60_NAT_USER_GROUP}

/usr/abills/libexec/billd paysys_external_commands UID=%UID% START=1 NAS_TYPE=me60 SKIPPID=1


Стоп скрипт:

При стопе абонента система возвращает на user_ugrop - guest

/usr/abills/libexec/billd paysys_external_commands UID=%UID% STOP=1 NAS_TYPE=me60 SKIPPID=1

Juniper Mx


Старт скрипт:

При старте гостевой абонент переключается на профайл svc-guest-ipoe(svc-filter-in-paysys) для IPoE и svc-guest-pppoe(svc-filter-in-paysys) для PPPoE

/usr/abills/libexec/billd paysys_external_commands UID=%UID% START=1 NAS_TYPE=mx80 SKIPPID=1


Стоп скрипт:

При стопе абонента система возвращает на профайл svc-guest-ipoe(svc-filter-in-nomoney) для IPoE и svc-guest-pppoe(svc-filter-in-nomoney) для PPPoE

/usr/abills/libexec/billd paysys_external_commands UID=%UID% STOP=1 NAS_TYPE=mx80 SKIPPID=1


Paysys - смена тарифа после оплаты

При оплате абонентом любой суммы меняется интернет тариф из одного на другой. 

Задать tp_id тарифного плана (смотреть в таблицу tarif_plans, поле tp_id) (из Настройка > Интернет > Тарифные планы) в файл config.pl

PAYSYS_FROM_TARIFF_AFTER_PAYMENT - из какого тарифа менять

PAYSYS_TO_TARIFF_AFTER_PAYMENT - на какой тариф менять

$conf{PAYSYS_FROM_TARIFF_AFTER_PAYMENT} = 1;
$conf{PAYSYS_TO_TARIFF_AFTER_PAYMENT} = 2;

Добавить команду окончания оплаты

Можно добавить параметр GET_ABON=1, автоматически сделает активацию и списание за услугу

perl /usr/abills/Abills/modules/Paysys/paysys_change_tariff.pl

Автоматическое переключение после оплаты, даже если недостаточно денег

$conf{PAYSYS_FORCE_CHANGE_TP_AFTER_PAYMENT}=1;