Monetization Services 是 Apigee Edge 的扩展程序,因此它不会作为独立 进程运行。它在任何现有的 Apigee Edge 设置中运行,但 All-In-One (AIO) 配置除外。您无法在 AIO 配置中安装 Monetization Services。
创收要求
- 如果您在采用多个管理服务器 节点(例如 13 节点安装)的 Edge 拓扑上安装 Monetization,则必须先安装两个 Edge 管理服务器节点 ,然后再安装 Monetization。
- 如需在 Edge 上安装 Monetization,且 Edge 安装具有多个 Postgres 节点, 则必须以主/待机模式配置 Postgres 节点。如果您有多个 Postgres 主节点,则无法在 Edge 上安装 Monetization 。如需了解详情,请参阅 为 Postgres 设置主-备复制。
- Monetization 不适用于 All-In-One (AIO) 配置。
安装概览
以下步骤说明了如何在现有 Apigee Edge 安装中添加 Monetization Services:
- 使用
apigee-setup实用程序更新 Apigee 管理服务器节点,以 启用 Monetization Services,例如目录管理、限制和通知 配置、结算和报告。如果您有多个管理服务器节点(例如 13 节点安装),则必须 安装两个 Edge 管理服务器节点,然后再安装 Monetization。
- 使用
apigee-setup实用程序更新 Apigee 消息处理器,以启用 Monetization Services 的运行时组件,例如交易记录政策和限制执行。如果您有多个消息处理器,请在所有消息处理器上安装 Monetization。 - 为您的 Edge 组织执行 Monetization 新手入门流程。
- 配置 Apigee 开发者服务门户(或简称为“门户”),以支持创收。 如需了解详情,请参阅 在开发者门户中配置 Monetization。
为 Monetization 创建静默配置文件
下面显示了 Monetization 安装的示例静默配置文件。根据需要修改此 文件以进行配置。使用 setup.sh 的 -f 选项来添加此文件。
# 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 信息,请添加该信息。Monetization 需要 SMTP 服务器。
- 在单个数据中心安装中,默认情况下,所有 ZooKeeper 节点都配置为 领导者。当您跨多个数据中心安装 Edge 时,某些 ZooKeeper 节点将 被配置为观察者。确保上述 ZK_HOSTS 属性在 多数据中心安装中指定了领导者节点。
- 如果您启用 Cassandra 身份验证,则可以使用以下属性传递 Cassandra 用户名和密码
:
CASS_USERNAME CASS_PASSWORD
将 Monetization Services 与所有管理服务器集成
请按照以下步骤在管理服务器节点上集成创收。
- 如果您在采用多个管理服务器 节点(例如 13 节点安装)的 Edge 拓扑上安装 Monetization,请确保先安装两个管理服务器 节点,然后再安装 Monetization。
- 在管理服务器节点上,运行设置脚本:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
-p mo选项用于指定集成 Monetization。配置文件必须可供“apigee”用户访问或读取。
- 如果您在多个管理服务器节点上安装 Monetization,请在 第二个管理服务器节点上重复第 2 步。
配置成功后,系统会在 PostgreSQL 数据库中为 Monetization Services 创建 RDBMS 架构。这样便完成了 Monetization Services 及其关联 组件与 Postgres 服务器的集成。
将 Monetization Services 与所有消息处理器集成
请按照以下步骤在所有消息处理器 节点上集成创收。
- 在第一个消息处理器节点上,在命令提示符处运行设置脚本:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
-p mo选项用于指定集成 Monetization。配置文件必须可供“apigee”用户访问或读取。
- 在所有消息处理器节点上重复此过程。
配置成功后,消息处理器将使用 Monetization Services 进行更新。这样便完成了 Monetization Services 及其关联组件与消息 处理器的集成。
Monetization 新手入门
如需创建新组织并启用创收,请执行以下操作:
下次登录 New Edge 界面时,您会在组织的顶级菜单中看到 Monetization 条目:

如需配置门户以支持创收,请参阅在开发者门户中配置 Monetization。
向 Monetization 安装添加管理服务器节点
如果您向现有 Edge 安装添加管理服务器,则必须确保向新管理服务器添加 Monetization 服务,并配置所有管理服务器,以便它们 可以进行通信。
如需添加管理服务器,请执行以下操作:
- 安装 新 管理服务器。
- 使用以下命令在 新 管理服务器上安装 Monetization:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f /opt/silent.conf
其他配置
以 PDF 文件形式提供结算文档
Monetization 会以 HTML 格式向最终用户显示结算文档。如需以 PDF 文件形式提供结算 文档,您可以将 Monetization 与提供 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
Monetization 会返回组织的设置。例如:
{
...
"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
|
是否有代理(默认值为 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
|
供 New Edge 界面用于显示创收专用菜单(默认值为 "false") |
ui.config.isOperator
|
供 New Edge 界面用于将提供商显示为“运营商”而非“组织”(默认值为 "true") |
如需使用 New Edge 界面配置业务组织设置,请参阅 开始使用创收。
Monetization 限制
如需强制执行 Monetization 限制,请将 Monetization Limits Check 政策附加到 API 代理。 具体来说,在以下情况下会触发该政策:
- 访问获利 API 的开发者未注册或未订阅费率 方案。
- 开发者已超出订阅费率方案的交易量。
- 开发者预付费账号余额或后付费信用额度已达到上限。
在上述情况下,Monetization Limits Check 政策会引发故障并阻止 API 调用。该政策扩展了 Raise Fault 政策,您可以自定义返回的消息 。适用条件源自业务变量。
如需了解详情,请参阅强制执行 API 代理的创收限制。