Monetization Services – это расширение для Apigee Edge, поэтому оно не работает как отдельный процесс. Он работает в любой существующей конфигурации Apigee Edge, за исключением конфигурации All-In-One (AIO). Вы не можете установить Monetization Services на конфигурацию AIO.
Требования для монетизации
- Если вы устанавливаете Monetization в топологии Edge, в которой используется несколько узлов Management Server, например в топологии с 13 узлами, то перед установкой Monetization необходимо установить оба узла Edge Management Server.
- Чтобы установить Monetization в Edge, где в установке Edge есть несколько узлов Postgres, узлы Postgres должны быть настроены в режиме Master/Standby. Если у вас несколько основных узлов Postgres, вы не сможете установить Monetization на Edge. Подробнее о том, как настроить репликацию "основной – резервный" для Postgres…
- Монетизация недоступна в конфигурации All-In-One (AIO).
Общие сведения об установке
Чтобы добавить сервисы монетизации в существующую установку Apigee Edge, выполните следующие действия:
- Используйте утилиту
apigee-setup, чтобы обновить узел сервера управления Apigee и включить сервисы монетизации, например управление каталогом, настройку лимитов и уведомлений, выставление счетов и создание отчетов.Если у вас несколько узлов Management Server, например 13, то перед установкой Monetization необходимо установить оба узла Edge Management Server.
- Используйте утилиту
apigee-setup, чтобы обновить Apigee Message Processor и включить компоненты среды выполнения сервисов монетизации, например правила записи транзакций и применение ограничений. Если у вас несколько процессоров сообщений, установите монетизацию на каждом из них. - Выполните процесс адаптации монетизации для своих организаций Edge.
- Настройте портал Apigee Developer Services (или просто портал) для поддержки монетизации. Дополнительную информацию можно найти в статье Как настроить монетизацию на портале для разработчиков.
Как создать файл конфигурации для монетизации
Ниже приведен пример файла конфигурации для автоматической установки Monetization. При необходимости измените этот файл в соответствии с вашей конфигурацией. Чтобы включить этот файл, используйте параметр -f для setup.sh.
# Edge configuration properties # Specify IP address or DNS name of node. IP1=192.168.1.1 # Management Server, SymasLDAP, New Edge UI, ZooKeeper, Cassandra IP2=192.168.1.2 # ZooKeeper, Cassandra IP3=192.168.1.3 # ZooKeeper, Cassandra IP4=192.168.1.4 # Router, Message Processor IP5=192.168.1.5 # Router, Message Processor IP6=192.168.1.6 # Qpid IP7=192.168.1.7 # Qpid IP8=192.168.1.8 # Postgres IP9=192.168.1.9 # Postgres # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost. HOSTIP=$(hostname -i) # Edge sys admin credentials ADMIN_EMAIL=your@email.com APIGEE_ADMINPW=yourPassword # If omitted, you are prompted for it. # Specify the Management Server port. APIGEE_PORT_HTTP_MS=8080 # # Monetization configuration properties. # # Postgres credentials from Edge installation. PG_USER=apigee # Default from Edge installation PG_PWD=postgres # Default from Edge installation # Specify Postgres server. MO_PG_HOST="$IP8" # Only specify one Postgres node. # Create a Postgres user for Monetization. # Default username is "postgre". # If you specify a different user, that user must already exist. MO_PG_USER=postgre MO_PG_PASSWD=moUserPWord # Specify one ZooKeeper host. # Ensure this is a ZooKeeper leader node in a multi-datacenter environment. ZK_HOSTS="$IP2" # Specify Cassandra information. # Ensure CASS_HOSTS is set to the same value as when you installed Edge. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" # Default is "Apigee", unless it was changed during Edge install. CASS_CLUSTERNAME=Apigee # Cassandra uname/pword required only if you enabled Cassandra authentication. # If your password uses special characters, wrap it in single quotes. # CASS_USERNAME= # CASS_PASSWORD= # Specify the region. # Default is dc-1 unless you are in a multi-datacenter environment. REGION=dc-1 # If your Edge config file did not specify SMTP information, add it. # Monetization requires an SMTP server. SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=your@email.com SMTPPASSWORD=yourEmailPassword SMTPSSL=y SMTPMAILFROM="My Company <myco@company.com>"
Примечания
- Если в файле конфигурации Edge не указана информация об SMTP, добавьте ее. Для монетизации требуется SMTP-сервер.
- В установке с одним центром обработки данных все узлы ZooKeeper по умолчанию настроены как лидеры. При установке Edge в нескольких центрах обработки данных некоторые узлы ZooKeeper будут настроены как наблюдатели. Убедитесь, что в указанном выше свойстве ZK_HOSTS задан ведущий узел в установке с несколькими центрами обработки данных.
- Если вы включите аутентификацию Cassandra, вы можете передать имя пользователя и пароль Cassandra, используя следующие свойства:
CASS_USERNAME CASS_PASSWORD
Интегрируйте сервисы монетизации со всеми серверами управления
Чтобы интегрировать монетизацию на узлах сервера управления, выполните следующие действия:
- Если вы устанавливаете Монетизацию в топологии Edge, в которой используется несколько узлов сервера управления, например в установке с 13 узлами, то перед установкой Монетизации убедитесь, что вы установили оба узла сервера управления.
- На узле сервера управления запустите скрипт настройки:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
Параметр
-p moуказывает на интеграцию монетизации.Файл конфигурации должен быть доступен или доступен для чтения пользователю apigee.
- Если вы устанавливаете Монетизацию на нескольких узлах сервера управления, повторите шаг 2 на втором узле сервера управления.
После успешной настройки в базе данных PostgreSQL создается схема RDBMS для сервисов монетизации. На этом интеграция сервисов монетизации и связанных с ними компонентов с сервером Postgres завершена.
Интегрируйте сервисы монетизации со всеми процессорами сообщений.
Чтобы интегрировать монетизацию на всех узлах Message Processor, выполните следующие действия:
- На первом узле Message Processor в командной строке запустите скрипт настройки:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
Параметр
-p moуказывает на интеграцию монетизации.Файл конфигурации должен быть доступен для чтения пользователю apigee.
- Повторите эту процедуру на всех узлах обработчика сообщений.
После успешной настройки Message Processor обновляется с помощью Monetization Services. На этом интеграция сервисов монетизации и связанных с ними компонентов с Message Processor завершена.
Регистрация для монетизации
Чтобы создать организацию и включить монетизацию:
- Создайте организацию, как обычно. Подробнее о том, как зарегистрировать организацию…
- Используйте API инициализации монетизации, как описано в разделе Как включить монетизацию для организации. Для этого необходимы права системного администратора.
При следующем входе в New Edge UI вы увидите пункт Monetization (Монетизация) в меню верхнего уровня для организации:

Чтобы настроить поддержку монетизации на портале, ознакомьтесь со статьей Как настроить монетизацию на портале для разработчиков.
Добавление узла сервера управления в установку монетизации
Если вы добавляете сервер управления к существующей установке Edge, убедитесь, что вы добавили сервисы монетизации на новый сервер управления и настроили все серверы управления так, чтобы они могли взаимодействовать друг с другом.
Чтобы добавить сервер управления:
- Установите новый сервер управления.
- Установите Монетизацию на новый сервер управления, используя следующую команду:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f /opt/silent.conf
Дополнительная конфигурация
Как предоставить платежные документы в формате PDF
В сервисе монетизации платежные документы показываются конечным пользователям в формате HTML. Чтобы предоставлять платежные документы в формате PDF, вы можете интегрировать Монетизацию с платежной системой, которая поддерживает создание PDF-файлов, или приобрести лицензию на поддерживаемую стороннюю библиотеку PDF.
Как настроить параметры организации
Чтобы добавить или обновить атрибуты организации, используйте запрос PUT, как показано в примере ниже.
curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \ -v http://ms_IP:8080/v1/organizations/orgId -d 'org object with attributes' -X PUT
Монетизация отвечает настройками организации. Пример:
{
...
"displayName": "Orgnization name",
"name": "org4",
"properties": {
"property": [
...
{
"name": "MINT_CURRENCY",
"value": "USD"
},
{
"name": "MINT_COUNTRY",
"value": "US"
},
{
"name": "MINT_TIMEZONE",
"value": "GMT"
}
]
}
}В таблице ниже перечислены атрибуты на уровне организации, которые можно использовать для настройки организации Mint.
| Атрибуты | Описание |
|---|---|
MINT_TAX_MODEL
|
Допустимые значения: "DISCLOSED", "UNDISCLOSED", "HYBRID" (по умолчанию – null). |
MINT_CURRENCY
|
Код валюты по стандарту ISO (по умолчанию – null). |
MINT_TAX_NEXUS
|
Налоговая связь (по умолчанию – null) |
MINT_DEFAULT_PROD_TAX_CATEGORY
|
Категория налогообложения товара по умолчанию (по умолчанию – null) |
MINT_IS_GROUP_ORG
|
Является ли группа организацией (по умолчанию – false) |
MINT_HAS_BROKER
|
Has broken (по умолчанию false) |
MINT_TIMEZONE
|
Часовой пояс (по умолчанию – null) |
MINT_TAX_ENGINE_EXTERNAL_ID
|
Идентификатор налогового сервиса (по умолчанию – null). |
MINT_COUNTRY
|
Страна организации (по умолчанию – null) |
MINT_REG_NO
|
Регистрационный номер организации. В Великобритании он отличается от идентификационного номера налогоплательщика. По умолчанию значение равно null. |
MINT_BILLING_CYCLE_TYPE
|
"PRORATED", "CALENDAR_MONTH" (по умолчанию используется "CALENDAR_MONTH") |
MINT_SUPPORTED_BILLING_TYPE
|
"PREPAID"/"POSTPAID"/"BOTH" (по умолчанию – "PREPAID") |
MINT_IS_SEPARATE_INV_FOR_FEES
|
Указывает, нужно ли создавать отдельный счет для комиссии (по умолчанию установлено значение false). |
MINT_ISSUE_NETTING_STMT
|
Указывает, нужно ли выставлять выписку о взаимозачете (по умолчанию – "false"). |
MINT_NETTING_STMT_PER_CURRENCY
|
Указывает, нужно ли создавать отчет о взаимозачете для каждой валюты (по умолчанию установлено значение false). |
MINT_HAS_SELF_BILLING
|
Указывает, есть ли у организации самостоятельное выставление счетов (по умолчанию – false). |
MINT_SELF_BILLING_FOR_ALL_DEV
|
Указывает, использует ли организация собственную платежную систему для всех разработчиков (по умолчанию false). |
MINT_HAS_SEPARATE_INV_FOR_PROD
|
Указывает, выставляется ли организации отдельный счет за каждый продукт (по умолчанию – false). |
MINT_HAS_BILLING_ADJUSTMENT
|
Указывает, поддерживает ли организация корректирующие проводки (по умолчанию – false). |
features.isMonetizationEnabled
|
Используется в новом интерфейсе Edge для показа меню монетизации (по умолчанию – false). |
ui.config.isOperator
|
Используется в новом интерфейсе Edge, чтобы показывать поставщика как оператора, а не организацию (по умолчанию установлено значение true). |
Инструкции по настройке параметров организации с помощью нового интерфейса Edge UI приведены в статье Начало работы с монетизацией.
Ограничения монетизации
Чтобы применить лимиты монетизации, прикрепите правило проверки лимитов монетизации к прокси-серверам API. Правило срабатывает при следующих условиях:
- Разработчик, который пытается получить доступ к монетизированному API, не зарегистрирован или не подписан на тарифный план.
- Разработчик превысил объем транзакций, предусмотренный тарифным планом.
- Достигнут баланс предоплаченного аккаунта разработчика или кредитный лимит аккаунта с оплатой по факту.
Правило проверки лимитов монетизации выявляет ошибки и блокирует вызовы API в ситуациях, подобных перечисленным выше. Это правило расширяет возможности правила Raise Fault и позволяет настраивать возвращаемое сообщение. Применимые условия определяются на основе коммерческих переменных.
Подробнее о том, как применять ограничения монетизации к прокси-серверам API…