Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 25 Current »

Назначение модуля

Модуль предназначен для работы с мобильным приложением на iOS и Android.  

Настройка модуля

Установите модуль на сервер, используя утилиту bg_installer, обновите клиент биллинга. Затем создайте экземпляр модуля, назвав его произвольным образом (например, Mobile).

Создайте конфигурацию модуля и установить ее. В конфигурации обязательно должен быть параметр token.signature.key, его значением подписывается токен, его минимальная длина 32 байта, от него будет зависеть какой алгоритм будет использован(HMAC 256/384/512 итд), размерность можете посчитать в любом online калькуляторе(например)

Далее вам нужно будет предоставить приложению доступ до модуля, например из вашей сети он может выглядеть так http://12.34.56.100:8080/bgbilling/mobapi/13 (где 13 код модуля), но так как вы скорее всего находитесь за nginx-ом, то нужно будет настроить путь с наружи( например - https://provider.ru/mobile )


Со всеми параметрами конфигурации и их описанием вы можете ознакомиться в шаблоне модуля, а ниже представлены некоторые параметры с описанием:

Конфигурация
# Ключ для токена. Обязательный параметр. Его изменение приведет к тому, что все ранее выданные токены(предыдущим ключом) станут недействительными, пользователям придется пройти авторизацию вновь.
token.signature.key=d№%취소محب°љ₽©°јў≈°…‘љ°©₽в21м
#
# Максимальное кол-во выданных рефреш токенов, если кол-во превышает заданное число, все текущие токены становятся недействительными( минимум 1, максимум 10, по умолчанию 2 )
token.max.active=2
# Время жизни рефреш токена ( минимум 1 день, максимум 180 дней, по умолчанию 30 )
token.refresh.lifetime.days=30
# Время жизни акцес токена(минут). После, если есть действующий рефреш, выдается новый акцес и рефреш токен.( минимум 10 минут, максимум 1440(2 суток), по умолчанию 60 )
token.access.lifetime.minutes=10
#
# Порядок и состав левого меню в мобильном приложении. В скобках у каждого элемента меню можно задать свое название [title=Название меню].
#menu.items=main; balance[title=Баланс]; tariff; tariff_options; limit; status; helpDesk; notification; help; exit
#
# Учетные данные для обращения к push серверу( выдаются Бителом )
#push.url=
#push.login=
#push.pswd=
#
# Отображать ли субдоговора и позволять управлять ими через учетную запись супер договора( так же позволяет производить распределение средств с супердоговора )
# У субдоговоров модуль Mobile тоже должен быть добавлен, иначе они не будут отображены в списке.
showSubContracts=true
#
# Справочная информация для абонентов в пункте меню help. Позволяет из приложения открыть web страницу, позвонить по номеру телефона, отправить письмо на email.
#about.items=url[value=https://bgbilling.ru/mobile_terms_and_conditions.html, title=U+1F310 Тарифы и услуги] ; email[value=support@test.ru, title=U+1F4E7 Техподдержка, subject=Техническая поддержка:@contractTitle] ; phone[value=+79171234567, title=U+260E Звонок +79171234567] 
# Платежные модули
#payment.modules=yamoney[moduleId=157,title=Яндекс.Касса],sberdeeplink[title=Оплатить в приложении - Сбер Банк],vepay[moduleId=2,title=VePay,minSum=1,maxSum=15000],sberbank[moduleId=23,minSum=1,maxSum=5000,title=Сбер Банк]
################################### Уведомления #################################
# Уведомления на приход договора.
#push.notification.payment=true
# Коды типов приходов, через запятую, которым будут отправлены уведомления
#push.notification.payment.allow.ids=1,2,4,5
# Текст уведомления на приход платежа. Доступные макросы: @contractTitle - номер договора, @sum - сумма, @balance - баланс
#push.notification.payment.text=Баланс договора @contractTitle был пополнен на @sum₽. Текущий баланс: @balance₽.

# Уведомления на расход/возврат договора.
#push.notification.charge=true
# Коды типов расходов/возвратов, через запятую, которым будут отправлены уведомления
#push.notification.charge.allow.ids=1,2,3
# Доступные макросы: @contractTitle - номер договора, @sum - сумма, @balance - баланс
#push.notification.charge.text=Списание с баланса договора @contractTitle в размере @sum₽. Текущий баланс: @balance₽.
#push.notification.payback.text=Произведен возврат на договоре @contractTitle в размере @sum₽. Текущий баланс: @balance₽.

# Уведомления на смену статуса договора.
#push.notification.status.change=true
# Коды статуса договора, через запятую, при наступлении которых будут отправлены уведомления
#push.notification.status.change.allow.codes=1,2,3,4,5,6
# Коды пользователей, через запятую, которые изменили статус. 0 - код системы(например изменения планировщиком, по балансу итд). Значение onlyManagers - только менеджеры(то есть все коды > 0)
#push.notification.status.change.allow.users=0,1,2,3
# Доступные макросы: @contractTitle - номер договора, @balance - баланс, @status - статус.
#push.notification.status.change.text=Договор @contractTitle: был установлен статус - @status.
# Произвольный текст для конкретного кода статуса
#push.notification.status.change.<status_code>.text=

# Можно задать для всех событийных(расход, приход, статус, сообщение HelpDesk) уведомлений разрешенную битовую маску договора(рассчитать можете в Справочники->Другие-> Договор - группы). Если договор входит хоть в одну разрешённую группу, то уведомление будет отправлено
#push.notification.allow.groupMask

Платежи

Приложение позволяет пополнение баланса договора. Для этого должен быть один из поддерживающих оплату в моб. приложении модуль и настроен параметр payment.modules.

В параметре payment.modules через точку с запятой можно указать несколько способов оплаты и в квадратных скобках параметры для каждого из них, такие как title - название, moduleId - код экземпляра модуля, minSum - минимальная сумма, maxSum - максимальная сумма. Параметры minSum и maxSum не переопределяют соответсвующие параметры в самих модулях, а лишь добавляют дополнительные ограничения при оплате в моб. приложении.

Если договор не имеет экземпляр платежного модуля указанный в payment.modules, то ему не будет предложен вариант такой оплаты.

Доступные способы(модули), в скобках указан их ключ для параметра :

  • Яндекс.Касса(yamoney) - поддерживает оплату банковской картой, кошельком, Apple Pay, Google Pay и сбербанк онлайн.
  • Paymaster(paymaster)
  • Сбербанк(sberbank) - банковской картой, Apple Pay и в приложении Сбербанка.
  • VePay(vepay)
  • Диплинк на приложение сбербанка(sberdeeplink) - позволяет перенаправить абонента на оплату в приложение сбербанка(за диплинком обращайтесь к сбербанку)

Ошибки

"Доступ к мобильному ЛК ограничен, обратитесь к тех. поддержке провайдера":

     - договор не содержит экземпляр модуля mobile. Убедитесь, чтобы все необходимые договора содеражили модуль.

     - не корректно задан код модуля в параметрах nginx. ( Модули → Редактор модулей и услуг → поле Id нашего модуля )

"Не получен код доступа": - возникла исключительная ситуация на сервере, смотрите логи сервера.

      -  если в логах ошибка io.jsonwebtoken.security.WeakKeyException , значит у вас слишком короткий код - token.signature.key


  • No labels