Установка сервисов монетизации

Службы монетизации — это расширение 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 должно быть настроено как voters . Если количество узлов ZooKeeper четное, то некоторые узлы будут настроены как observers . Когда вы устанавливаете Edge в четном количестве центров обработки данных, некоторые узлы ZooKeeper необходимо настроить в качестве observers , чтобы число узлов избирателей было нечетным. Во время выборов лидера ZooKeeper один узел избирателя будет избран leader . Убедитесь, что указанное выше свойство ZK_HOSTS указывает ведущий узел в установке с несколькими центрами обработки данных.
  • Если вы включите аутентификацию Cassandra, вы можете передать имя пользователя и пароль Cassandra, используя следующие свойства:
    CASS_USERNAME
    CASS_PASSWORD

Интегрируйте службы монетизации со всеми серверами управления.

Используйте следующую процедуру для интеграции монетизации на узлах Management Server.

  1. Если вы устанавливаете монетизацию в пограничной топологии, в которой используется несколько узлов сервера управления, например при установке из 13 узлов, перед установкой монетизации убедитесь, что вы установили оба узла сервера управления.
  2. На узле Management Server запустите сценарий установки:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    Опция -p mo указывает на интеграцию монетизации.

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

  3. Если вы устанавливаете монетизацию на нескольких узлах Сервера управления, повторите шаг 2 на втором узле Сервера управления.

При успешной настройке в базе данных PostgreSQL создается схема RDBMS для служб монетизации. На этом интеграция служб монетизации и связанных с ними компонентов с сервером Postgres завершена.

Интегрируйте службы монетизации со всеми процессорами сообщений

Используйте следующую процедуру для интеграции монетизации на всех узлах процессора сообщений.

  1. На первом узле процессора сообщений в командной строке запустите сценарий установки:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    Опция -p mo указывает на интеграцию монетизации.

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

  2. Повторите эту процедуру на всех узлах процессора сообщений.

При успешной настройке процессор сообщений обновляется службами монетизации. На этом интеграция служб монетизации и связанных с ними компонентов с процессорами сообщений завершена.

Монетизация

Чтобы создать новую организацию и включить монетизацию:

  1. Создайте организацию так же, как и любую новую организацию. Дополнительную информацию см. в разделе Регистрация в организации .
  2. Используйте API обеспечения монетизации, как описано в разделе Включение монетизации для организации . Для этого вам необходимо иметь права системного администратора.

Когда вы в следующий раз войдете в пользовательский интерфейс Edge, вы увидите запись «Монетизация» в меню верхнего уровня для организации:

Чтобы настроить портал для поддержки монетизации, см. раздел Настройка монетизации на портале разработчика .

Добавление узла сервера управления в установку монетизации

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

Чтобы добавить Сервер управления:

  1. Установите новый сервер управления.
  2. Установите монетизацию на новый сервер управления.
  3. На исходном сервере управления вызовите следующее:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. Перезапустите исходный сервер управления:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. На новом сервере управления вызовите следующее:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. Перезапустите новый сервер управления:
    /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

Указывает, следует ли генерировать отчет о неттинге для каждой валюты (по умолчанию — «ложь»).

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

Используется пользовательским интерфейсом управления для отображения поставщика в качестве оператора, а не организации (по умолчанию — «истина»).

Сведения о настройке параметров бизнес-организации с помощью пользовательского интерфейса управления см. в разделе Монетизация доступа в Edge .

Ограничения монетизации

Чтобы обеспечить соблюдение ограничений монетизации, прикрепите политику проверки лимитов монетизации к прокси-серверам API. В частности, политика срабатывает при следующих условиях:

  • Разработчик, получающий доступ к монетизированному API, не зарегистрирован или не подписался на тарифный план.
  • Разработчик превысил объем транзакций для подписанного тарифного плана.
  • Достигнут баланс предоплаченного счета разработчика или кредитный лимит постоплаты.

Политика проверки лимитов монетизации выявляет ошибки и блокирует вызовы API в ситуациях, подобных перечисленным выше. Эта политика расширяет политику Raise Fault, и вы можете настроить возвращаемое сообщение. Применимые условия выводятся из бизнес-переменных.

Дополнительную информацию см. в разделе Обеспечение ограничений монетизации для прокси-серверов API .