您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
簡介
營利功能可讓您針對「購買交易」向開發人員發布退款。假設您是行動電信業者,並提供付款 API 給開發人員,讓他們向行動用戶收取應用程式或應用程式內內容的購買費用。訂閱者每次使用 API 進行購買時,都算是一筆購買交易。
購買交易可能會產生退款。例如,內容可能無法傳送,或第三方對購買的內容不滿意。在這種情況下,開發人員會向第三方退款。營利功能可讓您進行類似的退款。這對收益分享方案尤其重要。
假設向行動裝置訂閱者核發退款的開發人員,為您的 API 產品購買了收益分潤方案。假設該方案規定開發人員可獲得購買交易淨價/總價的 70%。發布退款後,系統會實際撤銷購買交易,也就是從退款套用月份 (可能與實際購買交易發生的月份不同) 應付給開發人員的款項中扣除 70%。
使用傳統 Edge UI 退款 (僅限 Edge for Private Cloud)
您可以針對任何「成功」的購買交易申請退款,也就是 API 已成功向第三方收費,且您尚未全額退款的交易。發布退款後,系統會建立含有上層交易 ID 的退款交易,其中交易 ID 是指購買交易的 ID。
你可以針對原始交易全額或部分退款。你也可以核發多筆部分退款,但退款總金額不得超過原始購買金額。
如要發布退款:
- 在「營利」分頁中選取「退款」。

系統會開啟「退款」頁面。

- 在「帳單月份」下拉式選單中,選取購買交易發生的月份。然後按一下「+ 退款」。
系統會顯示所選月份的所有成功購買交易。

您可以依開發人員名稱篩選退款清單,或搜尋實際交易。
如要依開發人員篩選,請從「開發人員」下拉式選單中選取開發人員。這時系統只會顯示與所選開發人員相關的交易清單。

如要依交易 ID 篩選,請輸入要退款的原始購買交易 ID。這會傳回該 ID 的交易。

- 找出要退款的交易,然後勾選該列的「選取」方塊。
- 在「類型」下拉式選單中選取「總計」或「部分」。
如果選取「總計」,系統會退還購物總金額。如果選取「部分」,系統會退還部分款項。
如果選取「部分」,請在「金額」欄位輸入部分退款金額。退款金額上限為購買總金額。如果已部分退款,你只能輸入購買交易的剩餘金額。此外,如果原始購買交易同時有總價和淨價,您也必須說明要退還的部分金額是總價還是淨價。

- 按一下「儲存」處理退款 (或按一下「取消」取消)。
如果帳單月份尚未結算,退款會計入原始購買月份;否則會計入當月。
如要申請部分退款,系統會處理部分金額的退款,並根據部分金額占總金額的比例扣除任何收益分享金額。在上述部分退款範例中,部分退款金額為 0.50/1.12 = 總價的 45%,因此系統會扣除開發人員收益分潤的 45%。
在使用者介面中查看退款是否已處理完畢
如要確認退款是否已處理完畢,請在「退款」頁面頂端選取帳單月份。如果帳單月分尚未結算,則為購買當月;如果帳單月分已結算,則為當月。系統會顯示當月所有已過帳的退款清單。
使用 API 申請退款
如要發布退款,請對 /organizations/{org_name}/monetization-packages/{package_id}/refund-transactions 發出 POST 要求,其中 {package_id} 是退款適用的 API 套件 ID。
發出要求時,您需要指定下列查詢參數:
- 要退款的購買交易 ID。
- 購買交易的收益類型 (
GROSS或NET)。 - 退款金額。
- 說明退款原因的附註。
您也可以選擇將退款適用的 API 套件識別為網址參數。
如需可在退款要求中指定的完整網址參數清單,請參閱「退款設定」。
舉例來說,下列要求會針對購買交易核發退款。退款金額為購買交易總金額的 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 套件。 |
N/A | 否 |
parentTxId |
要退款的購買交易。 |
N/A | 是 |
revenueType |
購買交易的收益類型 ( |
N/A | 是 |
refundAmount |
退款金額。 |
N/A | 是 |
transactionNote |
說明退款原因的文字附註。 |
N/A | 是 |
後續步驟
瞭解如何安排營利相關工作,以及安排營利工作中自動安排的工作。