排查创收问题

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档
信息

本主题提供有关排查常见创收问题的相关信息和指南。

开发者账号已被中止

问题

开发者已被暂停,将无法进行任何其他创收交易/API 调用。

错误消息

<error>
   <messages>
        <message>Exceeded developer limit configuration -</message>
        <message>Is Developer Suspended - true</message>
   </messages>
</error>

诊断

如需确定开发者账号被中止的原因,请执行以下步骤:

  1. 执行以下 API 调用,以确定与被中止的开发者账号相关联的错误代码:
    1. 如果您是公共云用户,请使用以下 API:
      curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/{org}/suspended-developers/{developer-email}" -u orgadminEmail:password
    2. 如果您是私有云用户,请使用以下 API:
      curl -X GET "http://<management-host>:<port#>/v1/mint/organizations/{org}/suspended-developers/{developer-email}" -u orgadminEmail:password
  2. 将错误代码与以下原因代码进行比较,以确定开发者被中止的原因。

另请参阅:被中止的开发者的原因代码摘要

原因代码

原因

详细信息

INSUFFICIENT_FUNDS

开发者账号余额已用尽

如果预付费开发者账号余额不足以支付任何其他交易,则该开发者账号将被中止。

对于后付费开发者,如果其超出信用额度,或者所用币种的信用额度已用尽,则可能会发生此错误。

LIMIT_VIOLATED

RATE_PLAN_RATE_BAND_EXCEEDED

开发者无法再进行任何交易

每位开发者都可以根据所购买的价格方案进行固定数量的交易。如果交易次数超出限制,开发者账号会被中止,无法完成其他交易。

NO_CURRENT_PUBLISHABLE_ENTITY

开发者尚未购买任何费率方案

开发者必须先购买价格方案,然后才能完成任何交易。

分辨率

错误

解决步骤

INSUFFICIENT_FUNDS

开发者需要确保账号中有足够的账号余额或可用信用额度,以便完成任何其他交易。

LIMIT_VIOLATED

RATE_PLAN_RATE_BAND_EXCEEDED

  1. 进行以下 API 调用,分别获取开发者费率方案和交易详情:
    • 运行以下 API 调用,以获取开发者已购买的费率方案的开始日期和结束日期:
      http://docs.apigee.com/monetize/apis/get/organizations/%7Borg_name%7D/developers/%7Bdeveloper_id%7D/developer-accepted-rateplans
      
    • 运行以下 API 调用,以获取开发者成功完成的交易数量:
      http://docs.apigee.com/monetize/apis/get/organizations/%7Borg_name%7D/transactions/developers/%7Bdeveloper_email_or_id%7D
      
  2. 在 Edge 界面中,您还可以通过以下方式查看开发者允许进行的调用次数:

    Packages > PackageName > RatePlanName > Rate Card

    例如,如果软件包名称为 Pro Package,并且是免费方案,则路径将为:

    Packages > Pro Package > Free Plan > Rate Card

NO_CURRENT_PUBLISHABLE_ENTITY

开发者必须购买费率方案才能进行 API 调用。

创收设置问题

表现

创收设置问题可能会表现为不同的症状,例如:

  • Webhook 功能无法正常使用
  • 无法创建 Webhook
  • Webhook 通知未被触发
  • 创收报告未显示任何交易。例如,Google Analytics 数据显示,开发者在特定时间段内完成了多笔交易,但“创收”报告中未列出任何这些交易。
  • 交易未被记录

错误消息

您可能不会看到任何错误消息,但会遇到症状部分中所述的问题。

可能的原因

如果您看到症状中列出的任何症状,则很可能交易未获利。

诊断原因

  1. 使用下一部分中介绍的管理 API 调用来检查交易是否已创收。

    查看交易状态

  2. 如果您在指定时长内未看到任何交易被列为 SUCCESS,则表示相应交易未创收。

交易未获利的常见原因如下:

以下部分介绍了如何诊断和解决每种问题。

API 代理中未使用创收限制检查政策

诊断

  1. 检查 Monetization Limits Check Policy 是否已附加到 API 代理。
  2. 如果未附加政策,则可能是交易被列为 FAILED 的原因。

分辨率

将“创收限制检查”政策附加到所需的 API 代理,如 对 API 代理实施创收限制中所述。

如果问题仍然存在,请检查 API 产品是否未创收

API 产品未创收

诊断

  1. 检查 API 产品是否可获利(只有可获利的 API 产品会被评级,并列在交易下方)。创收产品是指至少有一个有效费率方案的产品。
  2. 使用以下管理 API 调用获取创收型 API 产品列表:
    1. 如果您是公共云用户,请使用以下 API:
      curl -v https://api.enterprise.apigee.com/v1/mint/organizations/{org_id}/products?monetized=true -u orgadminEmail:password
    2. 如果您是私有云用户,请使用以下 API:
      curl -v http://<management-host>:<port#>/v1/mint/organizations/{org_id}/products?monetized=true -u orgadminEmail:password
  3. 如果与 API 代理关联的 API 产品未创收,则这可能是交易未创收的原因。

分辨率

如需将 API 产品变现,请执行以下步骤:

  1. 配置交易记录政策

  2. 检查 API 产品是否具有有效的费率方案。

如果问题仍然存在,请查看 交易记录政策定义不正确

交易记录政策定义有误

诊断

  1. 为附加了“创收限制检查”政策的 API 代理启用界面跟踪。
  2. 从界面轨迹中选择特定的 API 请求。
  3. 选择 Analytics AX 流,并检查以下创收(铸造)流变量是否具有适当的值:
    mint.tx.status - Should match the value set up for "success criteria" in the transaction recording policy for the API product being used. When tracing, the txProviderStatus in the transaction recording policy is stored in the variable 'mint.tx.status'.
    mint.tx.app_id - Application id of API product.
    mint.tx.prod_id - API product id.
  4. 以下是显示铸造流程变量已正确设置的界面轨迹示例。

  5. 如果您在 mint.tx.status 变量中发现错误,则表示交易记录政策定义不正确。

分辨率

  1. 确保在创建交易记录政策时,已正确遵循 创建交易记录政策中记录的所有步骤。
  2. 关键值是在交易记录政策中设置的“交易成功标准”。 请参阅 在交易记录政策中设置交易成功标准的示例

开发者未购买价格方案

诊断

  1. 使用以下管理 API 调用来验证开发者购买的费率方案:
    1. 如果您是公共云用户,请使用以下 API:
      curl -v https://api.enterprise.apigee.com/v1/mint/organizations/{org}/developers/{dev_email}/products/{prod}/developer-rateplans -u orgadminEmail:password
    2. 如果您是私有云用户,请使用以下 API:
      curl -v http://<management-host>:<port#>/v1/mint/organizations/{org}/developers/{dev_email}/products/{prod}/developer-rateplans -u orgadminEmail:password
  2. 根据上述调用的响应,找到开发者完成交易时有效的方案。

分辨率

开发者必须根据自己的需求购买费率方案,然后执行交易/API。

如果问题仍然存在,请与 Apigee Edge 支持团队联系。