Службы монетизации являются расширением Apigee Edge, поэтому они не запускаются как отдельный процесс. Он работает в любой существующей настройке Apigee Edge, за исключением конфигурации «Все в одном» (AIO). Вы не можете установить Monetization Services в конфигурации AIO.
Требования к монетизации
- Если вы устанавливаете монетизацию в пограничной топологии, в которой используется несколько узлов сервера управления, например при установке из 13 узлов, перед установкой монетизации необходимо установить оба узла пограничного сервера управления.
- Чтобы установить монетизацию на Edge, где установка Edge имеет несколько узлов Postgres, узлы Postgres должны быть настроены в режиме Master/Standby. Вы не можете установить монетизацию на Edge, если у вас есть несколько главных узлов Postgres. Дополнительные сведения см. в разделе Настройка репликации Master-Standby для Postgres .
- Монетизация недоступна в конфигурации «Все в одном» (AIO).
Обзор установки
Следующие шаги показывают, как добавить службы монетизации в существующую установку Apigee Edge:
- Используйте утилиту
apigee-setup
для обновления узла сервера управления Apigee, чтобы включить службы монетизации, например, управление каталогом, настройку ограничений и уведомлений, выставление счетов и отчетность.Если у вас есть несколько узлов сервера управления, например установка из 13 узлов, перед установкой монетизации необходимо установить оба узла пограничного сервера управления.
- Используйте утилиту
apigee-setup
для обновления процессора сообщений Apigee, чтобы включить компоненты среды выполнения служб монетизации, например, политику записи транзакций и принудительное соблюдение ограничений. Если у вас несколько процессоров сообщений, установите монетизацию на них всех. - Выполните процесс адаптации монетизации для своих Edge-организаций.
- Настройте портал Apigee Developer Services (или просто портал ) для поддержки монетизации. Дополнительную информацию см. в разделе Настройка монетизации на портале разработчика .
Создание тихого файла конфигурации для монетизации
Ниже показан пример файла автоматической конфигурации для установки монетизации. Отредактируйте этот файл, если это необходимо для вашей конфигурации. Используйте опцию -f в файле setup.sh, чтобы включить этот файл.
# Edge configuration properties # Specify IP address or DNS name of node. IP1=192.168.1.1 # Management Server, OpenLDAP, 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
Интегрируйте службы монетизации со всеми серверами управления.
Используйте следующую процедуру для интеграции монетизации на узлах Management Server.
- Если вы устанавливаете монетизацию в пограничной топологии, в которой используется несколько узлов сервера управления, например при установке из 13 узлов, перед установкой монетизации убедитесь, что вы установили оба узла сервера управления.
- На узле Management Server запустите сценарий установки:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
Опция
-p mo
указывает на интеграцию монетизации.Файл конфигурации должен быть доступен или доступен для чтения пользователю «apigee».
- Если вы устанавливаете монетизацию на нескольких узлах Сервера управления, повторите шаг 2 на втором узле Сервера управления.
При успешной настройке в базе данных PostgreSQL создается схема RDBMS для служб монетизации. На этом интеграция служб монетизации и связанных с ними компонентов с сервером Postgres завершена.
Интегрируйте службы монетизации со всеми процессорами сообщений
Используйте следующую процедуру для интеграции монетизации на всех узлах процессора сообщений.
- На первом узле процессора сообщений в командной строке запустите сценарий установки:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
Опция
-p mo
указывает на интеграцию монетизации.Файл конфигурации должен быть доступен или доступен для чтения пользователю «apigee».
- Повторите эту процедуру на всех узлах процессора сообщений.
При успешной настройке процессор сообщений обновляется с помощью служб монетизации. На этом интеграция служб монетизации и связанных с ними компонентов с процессорами сообщений завершена.
Монетизация
Чтобы создать новую организацию и включить монетизацию:
- Создайте организацию так же, как и любую новую организацию. Дополнительную информацию см. в разделе Регистрация в организации .
- Используйте API обеспечения монетизации, как описано в разделе Включение монетизации для организации . Для этого вам необходимо иметь права системного администратора.
При следующем входе в пользовательский интерфейс Edge вы увидите запись «Монетизация» в меню верхнего уровня организации:
Чтобы настроить портал для поддержки монетизации, см. раздел Настройка монетизации на портале разработчика .
Добавление узла сервера управления в установку монетизации
Если вы добавляете сервер управления к существующей пограничной установке, вы должны убедиться, что вы добавили службы монетизации на новый сервер управления и настроили все серверы управления, чтобы они могли обмениваться данными.
Чтобы добавить Сервер управления:
- Установите новый сервер управления.
- Установите монетизацию на новый сервер управления.
- На исходном сервере управления вызовите следующее:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
- Перезапустите исходный сервер управления:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- На новом сервере управления вызовите следующее:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
- Перезапустите новый сервер управления:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Дополнительная конфигурация
Предоставляйте платежные документы в виде 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_TAX_MODEL | Допустимые значения: «РАСКРЫТО», «НЕРАСКРЫТО», «ГИБРИД» (по умолчанию — ноль). |
MINT_CURRENCY | Код валюты ISO (по умолчанию — ноль) |
MINT_TAX_NEXUS | Налоговая связь (по умолчанию — ноль) |
MINT_DEFAULT_PROD_TAX_CATEGORY | Налоговая категория продукта по умолчанию (по умолчанию — ноль) |
MINT_IS_GROUP_ORG | Организация группы ИС (по умолчанию «ложь») |
MINT_HAS_BROKER | Сломан (по умолчанию — false) |
MINT_TIMEZONE | Часовой пояс (по умолчанию — ноль) |
MINT_TAX_ENGINE_EXTERNAL_ID | Идентификатор налоговой системы (по умолчанию — ноль) |
MINT_COUNTRY | Страна организации (по умолчанию — ноль) |
MINT_REG_NO | Регистрационный номер организации, Великобритания дает номер, отличный от идентификатора налогоплательщика (по умолчанию — ноль). |
MINT_BILLING_CYCLE_TYPE | «PRORATED», «CALENDAR_MONTH» (по умолчанию «CALENDAR_MONTH») |
MINT_SUPPORTED_BILLING_TYPE | «ПРЕДОПЛАТА»/«ПОСТОПЛАТА»/«ОБА» (по умолчанию «ПРЕДОПЛАТА») |
MINT_IS_SEPARATE_INV_FOR_FEES | Указывает, следует ли создавать отдельный счет за оплату (по умолчанию — «ложь»). |
MINT_ISSUE_NETTING_STMT | Указывает, следует ли выдавать отчет о неттинге (по умолчанию «ложь»). |
MINT_NETTING_STMT_PER_CURRENCY | Указывает, следует ли генерировать отчет о неттинге для каждой валюты (по умолчанию — «false»). |
MINT_HAS_SELF_BILLING | Указывает, имеет ли организация самовыставление счетов (по умолчанию — «ложь»). |
MINT_SELF_BILLING_FOR_ALL_DEV | Указывает, имеет ли организация самовыставление счетов для всех разработчиков (по умолчанию — «ложь»). |
MINT_HAS_SEPARATE_INV_FOR_PROD | Указывает, имеет ли организация отдельный счет для каждого продукта (по умолчанию — «ложь»). |
MINT_HAS_BILLING_ADJUSTMENT | Указывает, поддерживает ли организация корректировку счетов (по умолчанию — «ложь»). |
features.isMonetizationEnabled | Используется пользовательским интерфейсом управления для отображения специального меню монетизации (по умолчанию — «false»). |
ui.config.isOperator | Используется пользовательским интерфейсом управления для отображения поставщика в качестве оператора, а не организации (по умолчанию — «истина»). |
Сведения о настройке параметров бизнес-организации с помощью пользовательского интерфейса управления см. в разделе Начало работы с монетизацией .
Ограничения монетизации
Чтобы обеспечить соблюдение ограничений монетизации, прикрепите политику проверки лимитов монетизации к прокси-серверам API. В частности, политика срабатывает при следующих условиях:
- Разработчик, получающий доступ к монетизированному API, не зарегистрирован или не подписался на тарифный план.
- Разработчик превысил объем транзакций для подписанного тарифного плана.
- Достигнут баланс предоплаченного счета разработчика или кредитный лимит постоплаты.
Политика проверки лимитов монетизации выявляет ошибки и блокирует вызовы API в ситуациях, подобных перечисленным выше. Эта политика расширяет политику Raise Fault, и вы можете настроить возвращаемое сообщение. Применимые условия выводятся из бизнес-переменных.
Дополнительную информацию см. в разделе Обеспечение ограничений монетизации для прокси-серверов API .