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