19
Web-интерфейс UTM5 позволяет конечным пользователям проверять состояние счёта, пополнять счёт и выполнять некоторые другие операции. Альтернативным средством для выполнения этих операций является утилита utm5_tray (см. Утилита utm5_tray).
1.Загрузите серверную часть Web-интерфейса из личного кабинета клиента на странице www.netup.tv/ru/utmoffice (раздел Файлы > файл utm5_web_php.zip).
2.Распакуйте полученный файл на Web-сервере.
3.В конфигурационном файле Web-интерфейса (см. Общий) введите адрес, порт, логин и пароль для доступа к ядру UTM5, а также путь к Web-интерфейсу относительно корня сайта.
4.В конфигурационном файле PHP (как правило, это файл php.ini) отредактируйте следующее:
–присвойте параметру short_open_tag значение 1 (эквиваленты: On, True или Yes);
–правильно задайте часовой пояс, например:
date.timezone ='Europe/Moscow'
|
Для работы Web-интерфейса необходим интерпретатор PHP версии 5.4, 5.5 или 5.6. В зависимости от типа ОС и версии интерпретатора PHP может потребоваться установка и настройка расширений OpenSSL и PCRE для PHP. |
|
Корректная работа Web-интерфейса гарантируется на всех релизах PHP 5, начиная с версии 5.4. Не рекомендуется использовать другие версии PHP. |
На странице авторизации (по умолчанию – http://ваш.сервер/utm5_web_php, где вместо ваш.сервер необходимо подставить имя сервера UTM5) введите логин и пароль пользователя.
Для входа по предоплаченной карте введите в поля Логин и Пароль номер и PIN-код карты, соответственно. Если данные введены верно, в системе будет создан карточный пользователь с логином card_NUM, где NUM – номер карты. В качестве пароля устанавливается PIN-код карты.
Для входа в интерфейс hotspot перейдите по ссылке Вход (hotspot) (если это не происходит автоматически) и введите номер и PIN-код карты в поля Логин и Пароль. Отобразится страница с параметрами текущей сессии (начало, оставшееся время, IP-адрес и др.), а также в отдельном окне откроется первоначально запрошенная страница, с которой произошла переадресация.
На первой вкладке приведена общая информация о пользователе, в том числе: ID, логин, полное имя, дата создания, суммарный баланс лицевых счетов и статус.
На вкладке Подробнее приведена полная информация о пользователе, включая юридический и фактический адрес, контактные данные и банковские реквизиты.
Вкладка Редактировать позволяет редактировать данные пользователя. Имя, адрес, паспортные данные, банк и банковский счет можно ввести, если они не введены, но нельзя редактировать в дальнейшем. Контактные данные (телефоны, веб-адрес, номер ICQ) подлежат неограниченному редактированию.
На этой странице перечислены все счета пользователя. Для каждого счёта приведены его ID, баланс, кредит, НДС, статус блокировки и состояние Интернета. Под заблокированными средствами понимается избыточно списанная сумма, которая должна быть возвращена пользователю в конце периода. Кроме того, для каждого из счетов пользователь может произвести следующие действия:
вернуть заблокированные средства на счёт, не дожидаясь конца расчётного периода.
если он выключен и счёт не заблокирован.
если он включен.
произвести обещанный платёж, т. е. кредитный платёж на свой счёт с ограниченной суммой и фиксированным сроком. За обещанный платёж может взиматься комиссия. Параметры кредита (максимальная сумма, срок действия кредита, минимальный интервал между обещанными платежами, минимальный баланс для платежа, комиссия, минимальный баланс для платежа без комиссии) вводятся администратором (см. Обещанные платежи).
блокировка ограниченной длительности, которую пользователь может применить, например, чтобы не платить абонентскую плату в период, когда он не нуждается в услугах. За установку блокировки может взиматься комиссия. Параметры блокировки (минимальная и максимальная длительность, минимальный интервал между блокировками, возможность самостоятельного снятия блокировки, минимальный баланс для блокировки, комиссия) вводятся администратором (см. Добровольная блокировка). Обратите внимание, что после выхода из добровольной блокировки пользователь должен вручную изменить статус интернет для счёта на Включен (делается на этой же странице, см. выше).
перевод средств с одного счёта пользователя на другой.
На этой странице пользователь может изменить пароль доступа к услугам, требующим ввода пароля, а также к самому Web-интерфейсу (личному кабинету).
Данная страница содержит интерфейс для обмена системными сообщениями с администратором. Сообщения разделены на три группы: Новые, Входящие и Отправленные, и могут также показываться с фильтрацией по критерию времени. Аналогичный интерфейс на стороне администратора описан в разделе Сообщения.
Страница содержит на отдельных вкладках отчёты для данного пользователя. Включены следующие виды:
|
Классы трафика, удалённые с помощью интерфейса администратора, продолжают отображаться в отчётах на web-интерфейсе как существующие. |
Функциональность полностью аналогична отчётам тех же типов в интерфейсе администратора (см. Отчеты), за исключением контекстного меню.
На вкладке Тарифы приводится список лицевых счетов пользователя. Для каждого счёта приведены связанные с ним тарифные планы, а для каждого тарифного плана указаны даты начала и окончания расчетного периода, а также следующий тарифный план. Имеется возможность смены следующего тарифного плана на совместимый с ним (см. Совместимость тарифных планов). За смену плана может взиматься комиссия, задаваемая администратором (см. Смена тарифа).
Вкладка Услуги содержит список услуг, привязанных ко всем лицевым счетам пользователя. Для каждой услуги приводятся: даты начала и окончания расчетного периода, цена и сумма списаний за текущий период.
На вкладке История смены тарифа приводится список тарифных планов, которые ранее были привязаны к каждому из лицевых счетов.
На вкладке Активация карты пользователь может пополнить любой из своих лицевых счетов, введя номер и PIN-код карты оплаты.
На вкладке Платежный документ находится интерфейс формирования платежных квитанций для распечатки.
Прочие вкладки (если они активированы) содержат интерфейс для внесения платежей с помощью различных платёжных систем. Данная функциональность контролируется отдельными конфигурационными файлами (см. Платежные системы.
Нажатие на эту ссылку приводит к выходу из Web-интерфейса пользователя и возврату на страницу авторизации.
По умолчанию Web-интерфейс UTM5 использует конфигурационный файл, находящийся в директории /lib/config.php относительно корневой директории Web-интерфейса. Файл содержит следующие параметры:
Кроме того, файл конфигурации Web-интерфейса UTM5 содержит параметры интеграции с платформой RentSoft:
По умолчанию данные параметры закомментированы. Для получения подробной информации по вопросам конфигурирования модуля интеграции с платформой RentSoft обратитесь в службу технической поддержки компании RentSoft .
Интерфейс взаимодействия с платёжными системами использует отдельный конфигурационный файл /lib/legacy_payment_systems_config.php, содержащий (среди прочих) следующие параметры:
Параметр |
Возможные значения |
Значение по умолчанию |
Описание |
true, false |
false |
Включает поддержку системы WebMoney. |
|
true, false |
false |
Включает поддержку системы Yandex Money. |
|
true, false |
false |
Включает поддержку системы Chronopay. |
|
true, false |
false |
Включает поддержку системы MobiMoney. |
|
true, false |
false |
Включает поддержку системы WebCreds. |
За каждым из перечисленных следуют другие параметры, специфичные для соответствующей платёжной системы.
Некоторые модули, находящиеся в директории /modules/, содержат собственный параметр $MOD_VISIBLE, отвечающий за включение модуля в интерфейс. Для включения необходимо присвоить параметру значение true.
Интеграция UTM5 с системами эквайринга позволяет абонентам пополнять лицевой счет из Личного кабинета с помощью банковских карт. Биллинговая система UTM5.3-005 работает со следующими системами эквайринга:
–Петербургский Социальный Коммерческий Банк (ПСКБ)
Интеграция с каждой системой эквайринга заказывается отдельно через Личный кабинет клиента на странице www.netup.tv/ru/utmoffice в разделе Платежные системы. После приобретения необходимых модулей эквайринга требуется скачать и поместить в директорию /netup/etc/ новый файл хранилища сертификатов netup.keystore и затем перезапустить модуль интеграции с платёжными системами.
Интернет-эквайринг от “РФИ БАНК” можно подключить бесплатно (см. netup_payservice-rfi (РФИ БАНК)).
Конфигурационные файлы систем эквайринга представлены в формате XML и находятся в директории lib/PaymentSystems/settings/ относительно корневого каталога Web-интерфейса. Иерархическая структура конфигурационного файла следующая:
<?xml version=”1.0” encoding=”utf-8”?> |
<config> |
<name></name> |
<description></description> |
<image></image> |
<enabled></enabled> |
<settings></settings> |
</config> |
–<?xml version="1.0" encoding="utf-8"?> - объявление XML, в котором указана версия языка и кодировка документа;
–name – название платежной системы;
–description – описание и пояснения;
–image – логотип, отображаемый на странице Платежные системы в Личном кабинете пользователя, если система эквайринга задействована (включена). Все логотипы хранятся в директории images/ относительно корневого каталога Web-интерфейса.
–enabled – включение/выключение платежной системы (значения 1 и 0, соответственно);
–settings – параметры платежной системы.
Далее приведено описание параметров каждой системы эквайринга.
Конфигурационный файл netup_payservice_rfi.xml находится в директории lib/PaymentSystems/settings/ относительно корневого каталога web-интерфейса и содержит следующие параметры:
Параметр |
Описание |
Описание оплачиваемой услуги. |
|
Уникальный ключ, генерируемый системой при создании кнопки в личном кабинете. |
|
Секретный ключ сервиса. |
|
Номер сервиса. У партнера может быть несколько сервисов в одном аккаунте. |
|
Префикс для идентификатора платежа. |
Интернет-эквайринг от “РФИ БАНК” можно подключить бесплатно. Для этого:
1.Пройдите регистрацию на сайте банка и войдите в личный кабинет - http://home.rficb.ru/
2.Перейдите в раздел Инструменты и на вкладке API ключи сгенерируйте ключ - https://home.rficb.ru/apikeys, на вкладке Сервисы - добавьте новый сервис - https://home.rficb.ru/alba/add. В форме добавления сервиса укажите:
–в поле URL скрипта обработчика на Вашем сайте - <URL_web-интерфейса>/payment_notify_listener.php?payment_system=netup_payservice_rfi
–в поле URL страницы успешной покупки - <URL_web-интерфейса>/?module=52_payment_systems&payment_system=netup_payservice_rfi&state=success
–в поле URL страницы ошибки - <URL_web-интерфейса>/?module=52_payment_systems&payment_system=netup_payservice_rfi&state=fail
3.Сгенерируйте ключ для созданного сервиса:
4.Перейдите на вкладку Настройки CMS, скопируйте и перенесите полученные ключ, секретный ключ и идентификатор сервиса (ID) в конфигурационный файл netup_payservice_rfi.xml.
5.Файл конфигурации системы эквайринга находится в директории lib/PaymentSystems/settings/ относительно корневого каталога web-интерфейса. Откройте файл netup_payservice_rfi.xml и внесите в него следующие изменения:
–в поле enabled замените “0” на “1”, чтобы включить платёжную систему;
–в поле key впишите ключ, сгенерированный на сайте банка, на странице Настройки CMS;
–в поле secret_key впишите секретный ключ с этой же страницы;
–в поле service_id впишите идентификатор созданного сервиса, со страницы Сервисы;
6.Войдите в Центр управления платёжными систем ами и на странице Внешние платёжные системы убедитесь, что модуль “NetUP Payservice RFI” находится в состоянии “Модуль подключен”. Если “Модуль не подключен”, обновите лицензию, сохранив в директорию /netup/etc/ новый файл хранилища сертификатов netup.keystore, и перезапустите модуль интеграции с платёжными системами. Производить какие-либо дополнительные настройки модуля интеграции с платёжными системами не требуется.
|
Если подключить модуль не получилось, отправьте сообщение об этом на адрес info@netup.ru |
7.В Центре управления платёжными систем ами на странице Соединение с UTM5 проверьте параметры соединения: адрес и порт сервера, а также логин и пароль системного пользователя, которые будут использоваться для авторизации при внесении платежей. Адрес и порт сервера UTM5 в настройках Центра управления платёжными системами, связаны с параметрами nxt_v2_bind_host и nxt_v2_bind_port файла конфигурации ядра UTM5. Значения этих параметров по умолчанию 0.0.0.0 и 11778 соответственно. Если в конфигурационном файле ядра используются другие IP-адрес и/или порт, убедитесь, что они совпадают с соответствующими значениями, установленными в Центре управления платёжными системами.
8.По завершении всех настроек, в Личном кабинете абонента, в разделе Платежи, на странице Платёжные системы появится логотип “РФИ БАНК”.
Когда абонент в Личном кабинете выберет систему эквайринга, заполнит форму оплаты и нажмёт Оплатить, он будет перенаправлен на страницу выбранной платежной системы. На этой странице абонент должен заполнить форму и нажать Оплатить. Если баланс банковской карты абонента позволяет совершить оплату, появится уведомление об успешном проведении платежа. В противном случае, появится уведомление о недостатке средств. После совершения платежа абонент может вернуться в Личный кабинет, нажав предусмотренную для этого кнопку на странице платежной системы.
Конфигурационный файл paymentexpress-com.xml находится в директории lib/PaymentSystems/settings/ относительно корневого каталога web-интерфейса и содержит следующие параметры:
Параметр |
Описание |
Уникальное имя пользователя для идентификации учетной записи клиента. |
|
Уникальный 64-значный ключ для учетной записи клиента. |
|
Значения: 0 или 1. Если значение 1, то платежная система работает в режиме тестирования. |
|
Валюта платежа (например, USD, EUR). |
|
Префикс для идентификатора платежа. |
Конфигурационный файл paypal.xml находится в директории lib/PaymentSystems/settings/ относительно корневого каталога web-интерфейса и содержит следующие параметры:
Параметр |
Описание |
PayPal ID или Email, связанный с учетной записью в системе PayPal. Email должен быть подтвержден. |
|
Описание оплачиваемой услуги. Например, «пополнение счёта». |
|
Код валюты платежа (например, USD, EUR). |
Конфигурационный файл robokassa.xml находится в директории lib/PaymentSystems/settings/ относительно корневого каталога web-интерфейса и содержит следующие параметры:
Параметр |
Описание |
Идентификатор магазина в системе Robokassa. |
|
Пароль #1. Используется интерфейсом инициализации оплаты. Длина не менее 8 символов, должен содержать хотя бы одну букву и хотя бы одну цифру. |
|
Пароль #2. Используется интерфейсом оповещения о платеже, XML-интерфейсами. Длина не менее 8 символов, должен содержать хотя бы один символ и хотя бы одну цифру. |
Конфигурационный файл uniteller.xml находится в директории lib/PaymentSystems/settings/ относительно корневого каталога web-интерфейса и содержит следующие параметры:
Параметр |
Описание |
Идентификатор точки продажи в системе Uniteller. В Личном кабинете этот параметр называется Uniteller Point ID и его значение доступно на странице «Точки продажи компании» (пункт меню «Точки продажи») в столбце Uniteller Point ID. Формат: от 1 до 64 символов (a~z, 0~9) или две группы символов, разделенных «-» (первая группа от 1 до 15 символов, вторая группа от 1 до 11 символов), к регистру нечувствителен. |
|
Пароль из раздела Параметры авторизации Личного кабинета системы Uniteller. |
|
Код валюты (3 символа). |
|
Язык интерфейса платежной страницы (en или ru). |
|
Комментарий к платежу (до 1024 символов; передается в запросе на оплату). |
Конфигурационный файл alfabank.xml находится в директории lib/PaymentSystems/settings/ относительно корневого каталога web-интерфейса и содержит следующие параметры:
Параметр |
Описание |
Логин магазина, полученный при подключении. |
|
Пароль магазина, полученный при подключении. |
|
Значения: 0 или 1. Если значение 1, то платежная система работает в режиме тестирования. |
|
Префикс для идентификатора платежа. |
Конфигурационный файл avangard.xml находится в директории lib/PaymentSystems/settings/ относительно корневого каталога web-интерфейса и содержит следующие параметры:
Параметр |
Описание |
Уникальный идентификационный номер магазина. |
|
Подпись Интернет-магазина (выдается техподдержкой). |
|
Подпись системы эквайринга (выдается техподдержкой). |
|
Префикс для идентификатора платежа. |
Конфигурационный файл cyberplateshop.xml находится в директории lib/PaymentSystems/settings/ относительно корневого каталога web-интерфейса и содержит следующие параметры:
–Изменение состояния платежа происходит только при возвращении пользователя из ПС обратно в личный кабинет. В протоколе взаимодействия с системой эквайринга CyberPlat e-shop не предусмотрена возможность проверки состояния платежа.
–В связи с проверками/ограничениями со стороны ПС CyberPlat, при тестировании доступ в веб-интерфейс пользователя должен осуществляться по адресу 127.0.0.1. Для этого можно либо перенаправить порт 80 тестового стенда с ПС на локальную машину, либо проксировать стенд с ПС в локальном HTTP-сервере.
–Вместе с модулем платежных систем поставляются две версии утилиты checker.exe, осуществляющей криптозащиту передаваемой и принимаемой информации:
–checker_amd64.exe – для 64-разрядной версии Linux. Используется в стандартной конфигурации модуля ПС;
–checker_i386.exe – для 32-разрядной версии Linux.
–При необходимости утилиту checker.exe можно скомпилировать самостоятельно (см. документацию к платежной системе).
Конфигурационный файл moscredbank.xml находится в директории lib/PaymentSystems/settings/ относительно корневого каталога web-интерфейса и содержит следующие параметры:
Параметр |
Описание |
Идентификатор магазина (предоставляется при регистрации). |
|
Пароль магазина (предоставляется при регистрации). |
|
Адрес электронной почты, на который будут приходить уведомления о транзакциях. |
|
Идентификатор эквайера. |
|
Префикс для идентификатора платежа. |
Конфигурационный файл pscb.xml находится в директории lib/PaymentSystems/settings/ относительно корневого каталога web-интерфейса и содержит следующие параметры:
Параметр |
Описание |
Идентификатор магазина. |
|
Секретный ключ. |
|
Префикс для идентификатора платежа. |
Конфигурационный файл sberbankrbs.xml находится в директории lib/PaymentSystems/settings/ относительно корневого каталога web-интерфейса и содержит следующие параметры:
Параметр |
Описание |
Логин магазина, полученный при подключении. |
|
Пароль магазина, полученный при подключении. |
|
Значения: 0 или 1. Если значение 1, то платежная система работает в режиме тестирования. |
|
Префикс для идентификатора платежа. |
Конфигурационный файл promsvyazbank_acquiring.xml находится в директории lib/PaymentSystems/settings/ относительно корневого каталога web-интерфейса и содержит следующие параметры:
Параметр |
Описание |
Уникальный номер виртуального терминала торговой точки. Формат* – числовой, 8 знаков. |
|
Номер торговой точки. Формат – числовой, 12-15 знаков. |
|
Название торговой точки. Формат – символьный, 1-50 знаков. |
|
Адрес электронной почты торговой точки. Формат – символьный, 3-80 знаков. |
|
Секретный ключ. |
* Формат данных: числовой – может содержать только цифры; символьный – может содержать любые печатные символы.
Конфигурационный файл tinkoff_bank_acquiring.xml находится в директории lib/PaymentSystems/settings/ относительно корневого каталога web-интерфейса и содержит следующие параметры:
Параметр |
Описание |
Ключ терминала, полученный при подключении. |
|
Пароль, полученный при подключении. |
|
Значения: 0 или 1. Если значение 1, то платежная система работает в режиме тестирования. |
|
Префикс для идентификатора платежа. |
Чтобы подключить интернет-эквайринг “Тинькофф Банк”:
1.Заключите договор с банком и получите доступ в Личный кабинет.
2.В личном кабинете на сайте банка впишите для тестового и коммерческого терминала:
–URL страницы успешной покупки - <URL_web-интерфейса>/?module=52_payment_systems&payment_system=tinkoff_bank_acquiring&state=SUCCESS
–URL страницы ошибки - <URL_web-интерфейса>/?module=52_payment_systems&payment_system=tinkoff_bank_acquiring&state=FAIL
|
Для страницы ошибки можно оставить URL, предложенный банком. Страница, разработанная банком, содержит подробное описание ошибки, предоставляет возможность внести изменения в реквизиты и повторить попытку оплаты. |
3.В файл конфигурации tinkoff_bank_acquiring.xml внесите и сохраните следующие изменения:
–в поле enabled замените “0” на “1”, чтобы включить платёжную систему;
–в поле terminalKey впишите ключ, выданный банком;
–в поле password впишите пароль, полученный при подключении;
–в поле test_mode замените “1” на “0”, чтобы отключить режим тестирования.
4.Войдите в Центр управления платёжными систем ами и на странице Внешние платёжные системы убедитесь, что модуль “Тинькофф Банк” находится в состоянии “Модуль подключен”. Если “Модуль не подключен”, обновите лицензию, сохранив в директорию /netup/etc/ новый файл хранилища сертификатов netup.keystore, и перезапустите модуль интеграции с платёжными системами. Производить какие-либо дополнительные настройки модуля интеграции с платёжными системами не требуется.
|
Если подключить модуль не получилось, отправьте сообщение об этом на адрес info@netup.ru |
5.В Центре управления платёжными систем ами на странице Соединение с UTM5 проверьте параметры соединения: адрес и порт сервера, а также логин и пароль системного пользователя, которые будут использоваться для авторизации при внесении платежей. Адрес и порт сервера UTM5 в настройках Центра управления платёжными системами, связаны с параметрами nxt_v2_bind_host и nxt_v2_bind_port файла конфигурации ядра UTM5. Значения этих параметров по умолчанию 0.0.0.0 и 11778 соответственно. Если в конфигурационном файле ядра используются другие IP-адрес и/или порт, убедитесь, что они совпадают с соответствующими значениями, установленными в Центре управления платёжными системами.
На приведенной ниже схеме показаны основные шаги взаимодействия биллинговой системы UTM5 с интегрированными системами эквайринга при осуществлении пользователями платежей из Личного кабинета.
1.В Личном кабинете на странице Платежные системы пользователь выбирает систему эквайринга, через которую он желает пополнить лицевой счет, заполняет форму оплаты и нажимает кнопку Оплатить. Происходит перенаправление на страницу платежной системы.
2.На странице платежной системы пользователь также заполняет специальную форму оплаты и нажимает кнопку Оплатить.
3.Если баланс банковской карты пользователя позволяет совершить оплату, то на странице платежной системы выводится уведомление об успешном проведении платежа. В противном случае выводится уведомление о недостатке средств.
4.После успешного совершения платежа пользователь возвращается в Личный кабинет. В зависимости от платежной системы возврат в Личный кабинет происходит автоматически или по нажатию предусмотренной для этого кнопки на странице платежной системы.
5.Дальнейший ход действий по зачислению средств на счет пользователя зависит от протокола работы системы UTM5 с системой эквайринга. Возможны следующие варианты:
–При перенаправлении со страницы оплаты в Личный кабинет система эквайринга сразу передает сведения о проведенном платеже Web-интерфейсу пользователя, который в свою очередь пересылает эти сведения модулю интеграции с платежными системами, откуда они затем поступают в ядро биллинговой системы, и происходит зачисление средств на лицевой счет пользователя. В этом случае пользователь сразу сможет увидеть пополнение счета в Личном кабинете (т. н. мгновенное зачисление средств на счет).
–Передача сведений о платеже и зачисление средств на счет пользователя происходит через некоторое время после совершения платежа. В этом случае пользователь не сможет сразу увидеть пополнение счета в Личном кабинете.
–Протокол взаимодействия с некоторыми системами эквайринга вообще не предусматривает автоматическую передачу сведений о проведенных платежах. Для работы с такими системами необходимо настроить в планировщике задач Cron периодическое выполнение скрипта payment_orders_checker.php, который будет запрашивать сведения о проведенных платежах и передавать их модулю интеграции с платежными системами (см. шаги 5.1 и 5.2 на вышеприведенной схеме). Данный скрипт находится в корневом каталоге Web-интерфейса.
Для учета сведений о платежах, проводимых через системы эквайринга, необходимо добавить в базу данных UTM5 таблицу payment_orders. Структура таблицы содержится в файле payment_orders_table_schema.sql, который находится в директории share/ относительно корневого каталога Web-интерфейса. В эту таблицу будут вноситься как сведения, передаваемые платежными системами автоматически, так и сведения, периодически запрашиваемые скриптом payment_orders_checker.php.
Для хранения log-файлов систем эквайринга используется директория /netup/utm5/log/. Для регистрации событий в log-файлах необходимо, чтобы пользователь, от имени которого работает PHP, обладал правами записи в данную директорию. Во избежание удаления log-файлов пользователями, не являющимися владельцами этих файлов, рекомендуется установить для данной директории атрибут sticky bit:
chmod -t /netup/utm5/log/ |