Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Введение
Монетизация позволяет возвращать средства разработчикам за транзакции, связанные с покупками. Предположим, вы оператор мобильной связи и предлагаете разработчикам платежный API для взимания платы с абонентов за покупку приложения или контента в нем. Каждый раз, когда подписчик использует API для совершения покупки, регистрируется транзакция.
Покупки могут быть возвращены. Например, контент не был доставлен или покупатель остался недоволен покупкой. В таких случаях разработчик возвращает средства третьей стороне. Монетизация позволяет сделать аналогичный возврат. Это особенно важно для планов с распределением дохода.
Предположим, что разработчик, который вернул средства пользователю мобильного приложения, приобрел план распределения дохода для вашего продукта API. Предположим, что по условиям плана разработчик получает 70% от чистой или полной цены транзакции. При возврате средств вы отменяете транзакцию покупки, то есть вычитаете 70% из суммы, которую нужно выплатить разработчику за месяц, в котором был оформлен возврат (этот месяц может отличаться от месяца, в котором была совершена покупка).
Как оформить возврат с помощью классического интерфейса Edge (только для частного облака)
Вы можете оформить возврат средств за любую успешную транзакцию покупки, то есть за ту, при которой API успешно списал средства с аккаунта третьего лица и за которую вы ещё не оформили полный возврат. При публикации возврата создается возврат платежа с родительским идентификатором транзакции, где идентификатор транзакции – это идентификатор транзакции покупки.
Вы можете вернуть всю сумму покупки или ее часть. Вы можете несколько раз частично возвращать средства за один заказ, но при этом сумма возвращенных средств должна быть меньше общей суммы заказа.
Чтобы оформить возврат:
- На вкладке "Монетизация" выберите "Возвраты".

Откроется страница "Возвраты".

- В раскрывающемся меню "Платежный месяц" выберите месяц, в котором была совершена покупка. Затем нажмите "Возвраты".
Здесь приведен список всех успешных транзакций покупки за выбранный месяц.

Вы можете отфильтровать список возвратов по названию разработчика или найти нужную транзакцию.
Чтобы отфильтровать данные по разработчику, выберите его в раскрывающемся меню "Разработчик". В результате будет показан список транзакций, связанных с выбранным разработчиком.

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

- Установите флажок "Выбрать" в строке транзакции, за которую нужно вернуть средства.
- В раскрывающемся меню "Тип" выберите "Полная" или "Частичная".
Если вы выберете "Вся сумма", будет возвращена полная стоимость покупки. Если вы выберете "Частичный", будет возвращена часть суммы покупки.
Если вы выбрали вариант "Частичный возврат", укажите сумму в поле "Сумма". Вы можете вернуть только сумму, не превышающую стоимость покупки. Если вы уже оформили частичный возврат средств, вы можете указать только сумму, оставшуюся от покупки. Кроме того, если в исходной транзакции покупки указаны и полная, и чистая цена, вам нужно будет указать, какую цену вы хотите вернуть частично.

- Нажмите "Сохранить", чтобы обработать возврат средств (или "Отмена", чтобы отменить его).
Возврат средств будет отражен в месяце, когда была совершена покупка, если расчетный месяц ещё не закрыт. В противном случае возврат будет отражен текущей датой.
При частичном возврате средств возвращается только часть суммы, а доля дохода рассчитывается на основе пропорции между возвращенной и полной суммой. В примере выше частичный возврат составляет 0,50/1,12 = 45% от цены без учета налогов, поэтому будет вычтено 45% доли дохода разработчика.
Как проверить, был ли выполнен возврат средств, в интерфейсе
Чтобы узнать, был ли обработан возврат, выберите месяц в верхней части страницы "Возвраты". Это месяц покупки, если расчетный месяц ещё не закрыт, или текущий месяц, если расчетный месяц закрыт. Появится список всех возвратов, выполненных в течение месяца.
Как оформить возврат средств с помощью API
Чтобы опубликовать возврат, отправьте запрос POST на адрес /organizations/{org_name}/monetization-packages/{package_id}/refund-transactions, где {package_id} – идентификатор пакета API, к которому относится возврат.
При отправке запроса необходимо указать следующие параметры запроса:
- Идентификатор транзакции покупки, по которой выполняется возврат средств.
- Тип дохода (
GROSSилиNET) от транзакции покупки. - Сумма возврата.
- Примечание с описанием причины возврата средств.
При необходимости вы можете указать в качестве параметра URL пакет API, к которому относится возврат средств.
Полный список параметров URL, которые можно указать в запросе на возврат средств, приведен в разделе Настройки конфигурации возврата средств.
Например, следующий запрос позволяет вернуть средства за покупку: Сумма возврата составляет 50% от общей суммы транзакции.
$ curl -H "Content-Type:application/json" -X POST \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment/refund-transactions?revenueType=GROSS&refundAmount=0.5&parentTxId=abf50909-2492-4bf5-8704-ade05f4d43b3&transactionNote=Refund for purchase transaction" \
-u email:password
Ответ должен выглядеть примерно так (показана только часть ответа):
{ "application" : { ... }, "product" : [ { ... { "customAtt1Name" : "user", "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "payment", "organization" : { ... }, "status" : "CREATED", "transactionSuccessCriteria" : "Status=='200 OK'" } ], ... }, "currency" : "USD", "developer" : { ... "legalName" : "DEV ONE", "name" : "Dev One", "organization" : { ... }, ... }, "endTime" : "2013-09-01 21:59:59", "environment" : "PROD", "euroExchangeRate" : 0.8123, "gbpExchangeRate" : 0.6910, "grossPrice" : 0.5, "id" : "61f7eb88-f8cc-4cda-afd8-4a61fba3dd33", "isRevOnGrossOrNet" : "NET", "isVirtualCurrency" : false, "notes" : "Refund for purchase transaction", "itemDesc" : "test application", "netPrice" : 0.4464, "orgRevenueShareAmount" : 0.1339, "parentId" : "abf50909-2492-4bf5-8704-ade05f4d43b3", "pkgId" : "myorg@@@payment", "pkgRatePlanProductName" : "Payment", ... }, "ratePlanLevel" : "STANDARD", "revenueShareAmount" : 0.3125, "startTime" : "2013-09-01 21:59:59", "status" : "SUCCESS", "tax" : 0.0536, "taxModel" : "UNDISCLOSED", "txProviderStatus" : "SUCCESS", "type" : "REFUND", "usdExchangeRate" : 1.0724, "utcEndTime" : "2013-09-01 21:59:59", "utcStartTime" : "2013-09-01 21:59:59" }
Настройки возврата средств для API
В запросе на возврат средств можно указать следующие параметры запроса:
| Название | Описание | По умолчанию | Обязательно? |
|---|---|---|---|
monetizationPackageId |
Пакет API, к которому относится возврат средств. |
Н/Д | Нет |
parentTxId |
Транзакция покупки, за которую нужно вернуть средства. |
Н/Д | Да |
revenueType |
Тип дохода ( |
Н/Д | Да |
refundAmount |
Сумма возврата. |
Н/Д | Да |
transactionNote |
Текстовая заметка с описанием причины возврата. |
Н/Д | Да |
Дальнейшие действия
Узнайте, как планировать задачи, связанные с монетизацией, и какие задачи планируются автоматически, в статье Как планировать задачи, связанные с монетизацией.