创收服务是 Apigee Edge 的扩展程序,因此不会作为独立进程运行。它可在任何现有的 Apigee Edge 设置中运行,但“一站式”(AIO) 配置除外。您无法在 AIO 配置上安装创收服务。
创收要求
- 如果您要在使用多个管理服务器节点(例如 13 节点安装)的边缘拓扑上安装创收功能,则必须先安装两个边缘管理服务器节点,然后才能安装创收功能。
- 如需在 Edge 上安装创收功能(Edge 安装有多个 Postgres 节点),必须将 Postgres 节点配置为主/备用模式。如果您有多个 Postgres 主节点,则无法在 Edge 上安装创收功能。如需了解详情,请参阅为 Postgres 设置主-从复制。
- 全包式 (AIO) 配置不支持创收。
安装概览
以下步骤说明了如何在现有的 Apigee Edge 安装上添加创收服务:
- 使用
apigee-setup
实用程序更新 Apigee Management Server 节点以启用创收服务,例如目录管理、限制和通知配置、结算和报告。如果您有多个管理服务器节点(例如 13 节点安装),则必须先安装两个边缘管理服务器节点,然后才能安装 Monetization 功能。
- 使用
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
将变现服务与所有管理服务器集成
请按照以下步骤在管理服务器节点上集成创收功能。
- 如果您要在使用多个管理服务器节点(例如 13 个节点的安装)的 Edge 拓扑上安装创收功能,请确保先安装两个管理服务器节点,然后再安装创收功能。
- 在管理服务器节点上,运行设置脚本:
/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”用户必须能够访问或读取该配置文件。
- 对所有消息处理器节点重复此过程。
配置成功后,消息处理器会更新为使用变现服务。至此,变现服务及其相关组件与消息处理器的集成就完成了。
创收初始配置
如需创建新组织并启用创收功能,请执行以下操作:
下次登录 Edge 界面时,您会在组织的顶级菜单中看到“创收”条目:
如需配置门户以支持创收,请参阅在开发者门户中配置创收功能。
将管理服务器节点添加到创收安装
如果您将管理服务器添加到现有的 Edge 安装中,则必须确保将创收服务添加到新的管理服务器,并配置所有管理服务器,以便它们能够通信。
如需添加管理服务器,请执行以下操作:
- 安装新的管理服务器。
- 在新管理服务器上安装 Monetization。
- 在原始管理服务器上,调用以下代码:
/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
|
接受的值包括“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
|
指示是否应按币种生成 nett 语句(默认值为“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 中使用创收功能。
创收限制
如需强制执行创收限制,请将“创收限制检查”政策附加到 API 代理。 具体而言,当满足以下条件时,系统会触发此政策:
- 使用创收 API 的开发者未注册或未订阅费率方案。
- 开发者已超出订阅费率方案的交易量。
- 开发者预付费账号余额或后付费信用额度已达到上限。
在上述情况下,MonetizationLimitsCheck 政策会引发故障并阻止 API 调用。该政策扩展了 Raise Fault 政策,您可以自定义返回的消息。适用的条件派生自业务变量。
如需了解详情,请参阅对 API 代理实施创收限制。