Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Введение
Монетизация позволяет вам возвращать разработчикам средства за «транзакции покупки». Предположим, вы являетесь оператором мобильной связи и предлагаете разработчикам платежный API, позволяющий взимать с мобильных абонентов плату за покупку приложения или контента в приложении. Каждый раз, когда подписчик использует API для совершения покупки, это транзакция покупки.
Операции покупки могут привести к возврату средств. Например, контент может не быть доставлен или третья сторона по каким-либо причинам не удовлетворена покупкой. В таких случаях разработчик возвращает деньги третьей стороне. Монетизация позволяет осуществить аналогичный возврат средств. Это особенно актуально для планов распределения доходов.
Представьте, что разработчик, осуществивший возврат средств мобильному абоненту, приобрел план распределения доходов для вашего продукта API. Предположим, план предусматривает, что разработчик получит 70% чистой/брутто-цены сделки купли-продажи. Проводя возврат, вы, по сути, отменяете транзакцию покупки, то есть вычитаете 70 % из суммы платежа, причитающегося застройщику за тот месяц, когда был применен возврат (месяц может отличаться от месяца, в котором фактически был произведен возврат). произошла сделка покупки).
Публикация возврата с помощью классического пользовательского интерфейса Edge (только 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 | Текстовое примечание, описывающее причину возврата. | Н/Д | Да |
Следующие шаги
Узнайте, как планировать задания, связанные с монетизацией, а также о заданиях, которые планируются автоматически, в разделе «Планирование заданий монетизации» .