安装创收服务

创收服务是 Apigee Edge 的扩展程序,因此不会作为独立进程运行。它可在任何现有的 Apigee Edge 设置中运行,但一体式 (AIO) 配置除外。您无法在 AIO 配置上安装创收服务。

创收要求

  • 如果您要在使用多个管理服务器节点(例如 13 个节点的安装)的边缘拓扑上安装创收功能,则必须先安装两个边缘管理服务器节点,然后再安装创收功能。
  • 如需在 Edge 安装具有多个 Postgres 节点的 Edge 上安装 Monetization,Postgres 节点必须在主/待机模式下进行配置。如果您有多个 Postgres 主节点,则无法在 Edge 上安装创收功能。如需了解详情,请参阅为 Postgres 设置主备用复制
  • 全包式 (AIO) 配置不支持创收。

安装概览

以下步骤说明了如何在现有的 Apigee Edge 安装中添加创收服务:

  • 使用 apigee-setup 实用程序更新 Apigee 管理服务器节点,以启用创收服务,例如目录管理、限制和通知配置、结算和报告。

    如果您有多个管理服务器节点(例如 13 个节点的安装),则必须先安装两个 Edge 管理服务器节点,然后才能安装创收功能。

  • 使用 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

将变现服务与所有管理服务器集成

请按照以下步骤在管理服务器节点上集成创收功能。

  1. 如果您要在使用多个管理服务器节点(例如 13 个节点的安装)的 Edge 拓扑上安装创收功能,请确保先安装两个管理服务器节点,然后再安装创收功能。
  2. 在管理服务器节点上,运行设置脚本:
    /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 界面时,您会在组织的顶级菜单中看到“创收”条目:

如需将门户配置为支持创收,请参阅在开发者门户中配置创收功能

将管理服务器节点添加到创收安装

如果您向现有 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

接受的值包括“DISCLOSED”“UNDISCLOSED”“HYBRID”(默认值为 null)

MINT_CURRENCY

ISO 货币代码(默认为 null)

MINT_TAX_NEXUS

税收关联(默认为 null)

MINT_DEFAULT_PROD_TAX_CATEGORY

默认商品税种类别(默认为 null)

MINT_IS_GROUP_ORG

IS 组组织(默认值为“false”)

MINT_HAS_BROKER

已损坏(默认值为 false)

MINT_TIMEZONE

时区(默认为 null)

MINT_TAX_ENGINE_EXTERNAL_ID

税费引擎 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

供管理界面用来显示创收专用菜单(默认值为“false”)

ui.config.isOperator

供管理界面使用,用于将提供商显示为运营商还是组织(默认为“true”)

如需使用管理界面配置企业组织设置,请参阅 在 Edge 中使用创收功能

创收限制

如需强制执行创收限制,请将 MonetizationLimitsCheck 政策附加到 API 代理。 具体而言,当满足以下条件时,系统会触发此政策:

  • 访问创收 API 的开发者未注册或未订阅费率方案。
  • 开发者已超出订阅费率方案的交易量。
  • 开发者预付费账号余额或后付费信用额度已达到上限。

“创收限额检查”政策会在上述情况下引发错误并阻止 API 调用。该政策扩展了 Raise Fault 政策,您可以自定义返回的消息。适用的条件派生自业务变量。

如需了解详情,请参阅对 API 代理实施创收限制