払い戻す

Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動します。
情報

はじめに

収益化では、「購入取引」についてデベロッパーに払い戻しを投稿できます。たとえば、あなたが携帯通信会社で、アプリ内のアプリやコンテンツの購入に対して携帯通信会社のユーザーに請求するための決済 API をデベロッパーに提供しているとします。定期購入者が API を使用して購入を行うたびに、購入取引が発生します。

購入取引は払い戻しにつながる可能性があります。たとえば、コンテンツが配信されなかったり、第三者が購入に満足しなかったりする可能性があります。このような場合、デベロッパーは第三者に払い戻しを行います。収益化では、同様の払い戻しを行うことができます。これは、特に収益分配プランに関連します。

モバイル加入者に払い戻しを行ったデベロッパーが、API プロダクトの収益分配プランを購入したとします。たとえば、購入トランザクションの純額/総額の 70% をデベロッパーが受け取るプランがあるとします。払い戻しを投稿すると、購入取引が事実上取り消され、払い戻しが適用された月のデベロッパーへの支払額から 70% が差し引かれます(この月は、実際の購入取引が発生した月とは異なる場合があります)。

Classic Edge UI を使用して払い戻しを投稿する(Edge for Private Cloud のみ)

「成功」した購入取引(API が第三者に正常に請求し、全額払い戻しをまだ発行していない取引)については、払い戻しを投稿できます。払い戻しを投稿すると、親トランザクション ID を含む払い戻し処理が作成されます。ここで、トランザクション ID は購入トランザクションの ID です。

払い戻しは、元の購入トランザクションの全額または一部の額に対して行うことができます。一部払い戻しを複数回行うこともできますが、払い戻しの合計額は元の購入金額を超えることはできません。

払い戻しを投稿するには:

  1. [収益受け取り] タブで [払い戻し] を選択します。

    [Refunds] ページが開きます。

  2. [Billing Month](請求月)プルダウン メニューで、購入取引が行われた月を選択します。[+ 払い戻し] をクリックします。

    選択した月の購入取引がすべて表示されます。

    払い戻しリストは、デベロッパー名でフィルタしたり、実際の取引を検索したりできます。

    デベロッパーでフィルタするには、[デベロッパー] プルダウン メニューからデベロッパーを選択します。選択したデベロッパーに関連する取引のみのリストが表示されます。

    取引 ID でフィルタするには、払い戻しを行う元の購入の取引 ID を入力します。これにより、その ID の取引が返されます。

  3. 払い戻しを行う取引の行にある [選択] チェックボックスをオンにします。
  4. [Type] プルダウン メニューで [Total] または [Partial] を選択します。

    [Total](合計)を選択すると、購入額の全額が払い戻されます。[Partial] を選択すると、購入金額の一部が払い戻されます。

    [一部] を選択した場合は、[金額] フィールドに一部払い戻しの金額を入力します。払い戻しできるのは、購入額の合計までです。一部払い戻しをすでに投稿している場合は、購入の残額までの金額のみを入力できます。また、元の購入トランザクションに総額と純額の両方の価格が含まれている場合は、払い戻しを希望する一部の金額が総額か純額かを指定する必要があります。

  5. [Save](保存)をクリックして払い戻しを処理します([Cancel](キャンセル)をクリックしてキャンセルすることもできます)。

    請求月がまだ開いている場合は、払い戻しは元の購入月に計上されます。それ以外の場合は、払い戻しは当日に計上されます。

    一部払い戻しの場合、一部の金額に対して払い戻しが処理され、収益分配は一部の金額と全額の割合に基づいて差し引かれます。上記の一部払い戻しの例では、部分金額は 0.50/1.12 = 総額の 45% であるため、デベロッパーの収益分配の 45% が差し引かれます。

UI で払い戻しが処理されたかどうかを確認する

払い戻しが処理されたかどうかを確認するには、[払い戻し] ページの上部で請求月を選択します。請求月がまだ開いている場合は購入月、請求月が閉じている場合は当月。このタブには、その月に投稿されたすべての払い戻しのリストが表示されます。

API を使用して払い戻しを投稿する

払い戻しを投稿するには、/organizations/{org_name}/monetization-packages/{package_id}/refund-transactions に POST リクエストを発行します。ここで、{package_id} は払い戻しが適用される API パッケージの ID です。

リクエストを発行するときに、クエリ パラメータとして次の値を指定する必要があります。

  • 払い戻し対象の購入取引の ID。
  • 購入取引の収益タイプ(GROSS または NET)。
  • 払い戻し額。
  • 払い戻しの理由を説明するメモ。

必要に応じて、払い戻しが適用される API パッケージを URL パラメータとして指定できます。

払い戻しリクエストで指定できる 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

購入トランザクションの収益タイプ(GROSS または NET)。

なし
refundAmount

払い戻し額。

なし
transactionNote

払い戻しの理由を説明するテキストメモ。

なし

次のステップ

収益化関連のジョブをスケジュール設定する方法と、収益化ジョブをスケジュール設定するで自動的にスケジュール設定されるジョブについて学習します。