Как установить сервисы монетизации

Edge for Private Cloud v4.18.01

Сервисы монетизации – это расширение Apigee Edge, поэтому они не работают как отдельный процесс. Он работает в любой существующей конфигурации Apigee Edge.

Требования для монетизации

  • Если вы устанавливаете монетизацию в топологии Edge, в которой используется несколько узлов сервера управления, например в установке с 13 узлами, то перед установкой монетизации необходимо установить оба узла сервера управления Edge.
  • Чтобы установить монетизацию в Edge, где установка Edge имеет несколько узлов Postgres, узлы Postgres должны быть настроены в режиме Master/Standby. Если у вас несколько основных узлов Postgres, вы не сможете установить Monetization на Edge. Подробнее о том, как настроить репликацию "основной – резервный" для Postgres…

Обзор установки

Ниже описано, как добавить сервисы монетизации в существующую установку Apigee Edge.

  • Используйте утилиту apigee-setup, чтобы обновить узел сервера управления Apigee и включить сервисы монетизации, например управление каталогом, настройку лимитов и уведомлений, выставление счетов и отчетность.

    Если у вас несколько узлов сервера управления, например 13, то перед установкой монетизации необходимо установить оба узла сервера управления Edge.
  • Используйте утилиту apigee-setup, чтобы обновить процессор сообщений Apigee и включить компоненты среды выполнения сервисов монетизации, например правила регистрации транзакций и ограничения. Если у вас несколько процессоров сообщений, установите монетизацию на каждом из них.
  • Выполните процедуру регистрации для монетизации организаций Edge.
  • Настройте портал Developer Services для поддержки монетизации. Подробнее: http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

Как создать файл конфигурации для монетизации

Ниже приведен пример файла конфигурации для установки Monetization в фоновом режиме. При необходимости измените этот файл в соответствии с вашей конфигурацией. Чтобы включить этот файл, используйте параметр -f в setup.sh.

Примечание. Обычно эти свойства добавляются в тот же файл конфигурации, который использовался для установки Edge, как показано в разделе Установка компонентов Edge на узле.

# 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. 
# 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

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

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

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

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

    Файл конфигурации должен быть доступен для чтения пользователю apigee.
  3. Если вы устанавливаете монетизацию на нескольких узлах сервера управления, повторите шаг 2 на втором узле сервера управления.

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

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

Чтобы интегрировать монетизацию на всех узлах Message Processor, выполните следующие действия:

  1. В первом узле Message Processor в командной строке запустите скрипт установки:
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

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

    Файл конфигурации должен быть доступен для чтения пользователю apigee.
  2. Повторите эту процедуру на всех узлах Message Processor.

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

Регистрация для монетизации

Чтобы создать новую организацию с включенной монетизацией, сначала создайте ее так же, как и любую другую. Подробнее о том, как зарегистрировать организацию…

Дополнительная регистрация для включения монетизации в организации

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

  1. Создайте группу монетизации: mxgroup.
  2. Добавьте Qpid в группу.
  3. Включите монетизацию для организации.
  4. Включите настройки уведомлений для организации.
  5. Повторите эти действия для всех организаций, в которых вы хотите включить монетизацию.

Чтобы выполнить все эти задачи, используйте команду enable-monetization. Этот скрипт принимает файл конфигурации, содержащий следующие свойства:

MSIP=IPorDNSofManagementServer
APIGEE_PORT_HTTP_MS=8080    # Default is 8080.
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=yourPassword    # If omitted, you are prompted for it.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
# Space-separated list IP/DNS names of all Qpid nodes in the data center being configured.
QPID_HOST="$IP6 $IP7"    
QPID_PORT=8083     # Default is 8083.
REGION=dc-1
ORG_NAME=myorg    # The Edge org where you want to enable monetization. 
MX_GROUP=mxgroup    # Default Monetization group.

Примечания

  • Установите для параметров CASS_HOSTS и REGION те же значения, которые вы использовали при установке монетизации.
  • Если вы включаете монетизацию в конфигурации с несколькими центрами обработки данных:
    • Вам нужно повторить процесс инициализации на сервере управления в каждом центре обработки данных.
    • В файле конфигурации должны быть перечислены только узлы Qpid в настраиваемом центре обработки данных.

Чтобы запустить скрипт:

  1. Вызовите скрипт:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-monetization -f configFile

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

    Если у вас несколько серверов управления, вам нужно запустить этот скрипт только на одном из них.

    Этот скрипт копирует организацию, продукты, разработчиков и приложения из базы данных Cassandra в базу данных PostgreSQL для монетизации. После успешной установки сервисов монетизации данные синхронизируются автоматически.
  2. Повторите эту процедуру для каждой организации, в которой вы хотите включить монетизацию.
  3. Если вы используете несколько центров обработки данных, повторите этот процесс на сервере управления в другом центре обработки данных. Убедитесь, что в списке файлов конфигурации указаны только узлы Qpid в настраиваемом центре обработки данных.

При следующем входе в интерфейс Edge в меню верхнего уровня организации появится пункт "Монетизация":

Как настроить портал Developer Services

Чтобы настроить портал Developer Services для поддержки монетизации, ознакомьтесь с информацией на странице http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

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

Если вы добавляете сервер управления к существующей установке 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 ${ADMIN_EMAIL}:${ADMINPW} -v http://<management-ip>:8080/v1/organizations/{orgId} -d '{org object with attributes}' -X PUT

Например, вывод приведенной выше команды CURL будет выглядеть примерно так:

{
...
    "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

Допустимые значения: DISCLOSED,

UNDISCLOSED, HYBRID (по умолчанию – null)

MINT_CURRENCY

Код валюты ISO (по умолчанию – null)

MINT_TAX_NEXUS

Налоговая связь (по умолчанию – null)

MINT_DEFAULT_PROD_TAX_CATEGORY

Категория налогообложения товаров по умолчанию (по умолчанию не задана)

MINT_IS_GROUP_ORG

Организация группы IS (по умолчанию 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

ПРОПОРЦИОНАЛЬНО, КАЛЕНДАРНЫЙ_МЕСЯЦ (по умолчанию КАЛЕНДАРНЫЙ_МЕСЯЦ)

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

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

ui.config.isOperator

Используется в интерфейсе управления для отображения поставщика как оператора, а не организации.

(по умолчанию – true)

Информацию о том, как настроить параметры организации с помощью интерфейса управления, можно найти на странице http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services.

Примечание. Если вы используете функции "Лимиты и уведомления для сервисов монетизации", попросите разработчиков прикрепить правило ограничения в потоке прокси после правила проверки токена доступа.

Правило ограничения – это явное правило, предназначенное для блокировки вызова API при достижении определенного лимита. Правило проверяет ограничения для компании и сообщает об ошибке, если какое-либо из них превышает заданное значение. Это расширение правила raise fault, но условия определяются на основе бизнес-переменных.

Шаблон интерфейса доступен в интерфейсе управления для разработчиков прокси. Разработчик прокси-сервера должен прикрепить правила чеканки к потоку сообщений. При выполнении этого правила будет создана ошибка с ответом, соответствующим правилу. Если для параметра ContinueOnError задано значение true, ошибка не будет вызвана, а переменные потока mint.limitsViolated, mint.isDeveloperSuspended и mint.limitsPolicyError будут заданы, и их можно будет использовать для дальнейшей обработки исключений, если это необходимо.