Устранение неполадок с монетизацией

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

В этой статье рассказывается о распространенных проблемах с монетизацией и способах их устранения.

Аккаунт разработчика заблокирован

Symptom

Аккаунт разработчика заблокирован, и он не сможет совершать дополнительные транзакции монетизации или вызовы 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. Сравните код ошибки с приведенными ниже кодами причин, чтобы определить, почему аккаунт разработчика был заблокирован.

Также ознакомьтесь с кратким описанием кодов причин блокировки аккаунтов разработчиков.

Код причины

Cause

Подробнее…

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 можно также проверить количество вызовов, которые разрешено выполнять разработчику, выбрав:

    Пакеты > Название пакета > Название тарифного плана > Тарифная карта

    Например, если название пакета – Pro Package, а тарифный план – Free Plan, путь будет выглядеть так:

    Пакеты > Пакет Pro > Бесплатный тарифный план > Тарифы

NO_CURRENT_PUBLISHABLE_ENTITY

Чтобы совершать вызовы API, разработчику необходимо приобрести тарифный план.

Проблемы с настройкой монетизации

Симптомы

Проблемы с настройкой монетизации могут проявляться по-разному:

  • Не работает функция веб-перехватчиков
  • Не удается создать вебхуки
  • Не приходят уведомления о веб-перехватах
  • В отчетах о монетизации не показываются транзакции. Например, данные Аналитики показывают, что разработчик совершил много транзакций за определенный период времени, но в отчетах о монетизации эти транзакции не указаны.
  • Транзакции не регистрируются

Сообщения об ошибках

Сообщения об ошибках могут не появляться, но проблемы будут заметны, как описано в разделе Симптомы.

Возможные причины

Если вы наблюдаете какие-либо из симптомов, перечисленных в разделе Симптомы, то, скорее всего, транзакции не монетизируются.

Как определить причину

  1. Чтобы проверить, монетизируются ли транзакции, используйте вызов API управления, описанный в следующем разделе.

    Как посмотреть статус транзакций

  2. Если за указанный период вы не увидите ни одной транзакции со статусом УСПЕШНО, значит монетизация не работает.

Обычно это происходит по следующим причинам:

Ниже описано, как диагностировать и устранить каждую из этих проблем.

Правила проверки ограничений монетизации не используются в прокси API

диагностика;

  1. Проверьте, прикреплены ли правила проверки лимитов монетизации к прокси API.
  2. Если правило не прикреплено, это может быть причиной того, что транзакции указаны как НЕУДАЧНЫЕ.

Разрешение

Прикрепите правило проверки лимитов монетизации к нужным прокси API, как описано в разделе Как применять лимиты монетизации к прокси API.

Если проблема не устранена, ознакомьтесь со статьей Монетизация товара, полученного через API, не включена.

API Product is not monetized

диагностика;

  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. Выберите поток AX и проверьте, правильно ли заданы значения следующих переменных потока монетизации (mint):
    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. Ниже приведен пример трассировки интерфейса, в котором показано, что переменные mint flow настроены правильно.

  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.