本文へスキップ
App Store Refund Management

アプリ開発者のためのApple返金リクエストの仕組み

Apple返金リクエストがアプリ開発者にとってどう機能するのかを解説します。CONSUMPTION_REQUESTのワークフロー、開発者の責任範囲、消費情報、通知、そして大規模な返金管理までを扱います。

5 min read
アプリ開発者のためのApple返金リクエストの仕組み

App Storeでの購入が成功しても、少なくとも開発者の視点では、それが取引の終わりとは限りません。顧客は決済を済ませ、しばらくアプリを使ったあと、数日後にAppleへ返金を求めることができます。開発者にとって、このひとつの行動がいくつもの疑問を生みます。顧客は購入したものにまだアクセスできるのか。サブスクリプションは自動的にキャンセルされるのか。バックエンドで取り消すべき処理はあるのか。そして、その後の展開に開発者が関与できる余地はあるのか、という疑問です。

返金を単なるカスタマーサポートの問題として扱うのではなく、このワークフローを理解しているかどうかが、アクセス権や売上の問題を早期に発見できるチームと、数週間後に照合レポートの奥に埋もれた形で気づくチームとを分けます。 RefundSensorのようなツールは、まさにそのギャップを埋めるために存在します。

重要なポイント

● 返金リクエストの最終判断を下すのは開発者ではなくAppleです。

● 一部の返金リクエストでは、Appleが判断の前に開発者へ追加の情報を求めることがあります。

● その依頼はApp Store Server Notifications V2を通じてCONSUMPTION_REQUEST通知として届きます。

● 開発者は消費情報を返答できますが、それは顧客から共有の同意を得ている場合に限られます。

● 開発者の返答はAppleの審査の参考になりますが、それ自体が返金を承認したり却下したりするものではありません。

● 消耗型、サブスクリプション、非消耗型では、このフローの流れ方が同じではありません。

● 取引量が増えると、返金通知を手作業で追跡するのは現実的ではなくなります。

Apple返金リクエストとは

Apple返金リクエストとは、顧客がアプリの購入やアプリ内取引について、Appleに直接返金を求める申し立てです。開発者が提出、承認、却下するものではなく、サブスクリプションのキャンセルやカード発行会社への異議申し立てとはまったく別のものです。

顧客は通常、開発者に連絡する前に、reportaproblem.apple.com、App Storeアプリ、またはAppleの一般的なサポート窓口といったApple自身のチャネルを利用します。これが重要なのは、返金リクエストがAppleの決済システムに対する申し立てだからです。App Storeの取引ではAppleがマーチャント・オブ・レコード(記録上の販売者)であり、開発者は判断の内側ではなく、その下流に位置しています。

開発者にとってAppleの返金プロセスはどう機能するのか

開発者の立場から見ると、返金プロセスは自ら動かすものというより、主にバックエンドに対して起こる出来事です。Appleが申し立てを審査し、必要に応じて補足情報を求め、最終的に下した判断が開発者側にサーバー通知として現れます。

この流れを簡略化すると、おおよそ次のようになります。顧客が購入し、顧客が返金をリクエストし、Appleがそのリクエストを受け取って審査し、関連するリクエストであればAppleが開発者に通知することがあり、開発者はサポートされている消費情報を提供でき、Appleは手元にある情報を検討し、最終判断を下し、開発者のシステムがその結果の通知を受け取って自身の記録を更新します。

繰り返しになりますが、これは簡略化した流れです。すべての返金リクエストが開発者への通知につながるわけではなく、すべての購入タイプが同じようにこのフローを通るわけでもありません。

顧客が返金をリクエストした後に何が起こるのか

顧客がリクエストを送信すると、あとはAppleが引き継ぎます。リクエストが提出された時点で開発者が自動的に関与するわけではなく、その段階での事前通知も保証されていません。代わりに開発者が頼れるのは、Appleのサーバーサイド通知システムです。これは、状況に変化があった時点で、その取引に関連するイベントを報告します。

ここが混同されやすい部分でもあります。返金はサブスクリプションのキャンセルとは異なり、銀行経由で申し立てられるチャージバックとも異なります。キャンセルは今後の請求を止めるだけです。返金は完了した購入を取り消します。チャージバックは、顧客のカード発行会社を通じて、Appleのシステムの完全に外側で提起される異議申し立てです。この3つを同じものとして扱うバックエンドのロジックは、いずれどこかでエンタイトルメント(利用権)や売上を誤って分類することになります。

Appleは返金リクエストをどのように審査するのか

Appleは各返金リクエストを社内で審査し、開発者が任意で提供するデータを含め、複数の情報源からの情報を検討することがあります。Appleがその内部審査で実際に何をどう重視しているかは公開されておらず、この記事を含め、どんな記事もその詳細を知っていると正直には言えません。

Apple自身のサポート資料で明記されているのは、開発者が結果をコントロールできないという点です。Appleの審査は、サポートされている仕組みを通じて送信された消費情報を参考にすることがありますが、その情報を送ることでAppleが返金や却下に傾くわけではありません。開発者は、Appleが最初から最後まで主導する審査プロセスへの入力のひとつに過ぎません。

重要な視点

このプロセスにおける開発者の役割は、返金の是非を主張することではありません。ワークフローが求めたときに、正確な購入データと消費データをAppleの審査に提供できる状態にしておくことです。

CONSUMPTION_REQUESTとは

CONSUMPTION_REQUESTは、返金リクエストの審査中にAppleが開発者から追加の情報を求める際、 App Store Server Notifications V2を通じて送信される特定の通知です。開発者が設定した通知エンドポイントに、該当する取引に紐づいた形で届きます。

すべての返金リクエストでこの通知が送られるわけではありません。Appleはこれを、すべての取引に一律に適用されるものではなく、関連するケースに適用されるものと位置づけています。そのため、すべての返金がCONSUMPTION_REQUESTを生むという前提で組んだワークフローには抜けが生じます。

開発者がこの通知を受け取った場合、Appleのドキュメントでは本番環境での応答期限が定められており、現在の開発者向けドキュメントでは12時間とされることが多いですが、二次情報の要約を信用するのではなく、Apple自身のドキュメントで直接確認する価値があります。関連する消費データがない場合や、顧客から共有の同意を得ていない場合は、不正確または権限のない情報を送るのではなく、応答を見送るのが正しい対応です。

開発者はAppleにどんな情報を送れるのか

消費情報は、開発者がすでに手元に持っているデータをもとに、特定の購入が実際にどのように利用されたかという追加の文脈をAppleの審査に提供します。Appleの Send Consumption Informationエンドポイントは、顧客がこのデータの共有に同意しているか、購入したコンテンツの配信ステータス、顧客が実際にどの程度消費したか、サンプルやトライアルのコンテンツが関係しているか、顧客のアカウントの状態、そしてその取引に対する開発者自身の返金に関する意向といった項目のフィールドに対応しています。

これらのフィールドは、丁寧に見せるために埋めるためのものではありません。Appleは各フィールドが何を表すかを明確に定義しており、曖昧または汎用的な値は審査の助けにならず、ノイズを増やすだけです。一部の詳細は顧客の同意がなければそもそも共有できないため、後から付け足すのではなく、最初から購入データと並行して同意ステータスを追跡しておくべき理由になります。この部分が応答全体の中でどう位置づけられるかについては、RefundSensorによる CONSUMPTION_REQUESTワークフローの解説でさらに詳しく説明しています。

返金審査中に開発者がコントロールできること

次の表は、Appleの権限がどこで終わり、開発者の実際の責任がどこから始まるかを示しています。

Appleがコントロールするもの

開発者がコントロールするもの

返金の最終判断

消費情報を送信するかどうか

リクエストが審査中かどうか

送信する取引データと利用データの正確性

審査結果が出るタイミング

顧客データを共有する前の同意の追跡

返金ポリシーと対象条件

結果の通知に対するバックエンドの対応

どのリクエストがCONSUMPTION_REQUESTを発生させるか

内部記録の管理とエンタイトルメントの更新

開発者は返金を承認も却下もできず、Appleのポリシーを覆すことも、より詳細なデータを送ることで特定の結果を保証することもできません。コントロールできるのは、Appleの審査に提供する情報の質とタイミング、そして判断が返ってきた後に自社システムがどう対応するかです。

アプリ開発者にとって返金モニタリングが重要な理由

返金モニタリングが重要なのは、取引のステータスが実際に変わったことを開発者が知る唯一の手がかりが、通知であることが多いからです。これを見逃すと、返金後もエンタイトルメントが有効なままになったり、サブスクリプションの状態がずれたり、売上レポートがいつの間にか実態と合わなくなったりします。

基本的には、関連するApp Store Server Notificationsのイベントを監視し、それぞれを正しい取引と顧客記録に紐づけ、エンタイトルメントとサブスクリプションのステータスをそれに応じて更新することを意味します。また、個々のイベントに対応するためだけでなく、プロダクト、プランの階層、購入タイプごとの返金パターンを長期的に把握するために、返金結果の記録を継続的に残しておくことも含まれます。

規模が大きくなると返金管理が難しくなる理由

次の流れは、ひとつの返金イベントがAppleのシステムをどう通過し、開発者が実際にどこで作業を行う必要があるかを示しています。

段階

何が起こるか

開発者の役割

顧客が返金をリクエスト

Appleが申し立てを受領

直接の対応は不要

Appleがリクエストを審査

Appleが対象かどうかを評価

通知が来る可能性に備えて待機

CONSUMPTION_REQUESTの送信(該当する場合)

Appleが補足データを要求

期限内に消費情報を準備して送信

Appleが判断

返金の承認または却下

結果はコントロールできない

通知の配信

Appleが結果を確定

エンタイトルメント、記録、売上データを更新

取引量が少ないうちは、小規模なチームでもこうした通知を手作業で確認できます。しかし、アプリが複数の購入タイプや地域にまたがって月に数千件の取引を抱えるようになると、それは成り立たなくなります。各CONSUMPTION_REQUESTを正しい取引に手動で紐づけ、応答期限を追跡し、返金結果を売上レポートと照合する作業は、本格的な運用負荷になります。そこでのミスは、失われたエンタイトルメントか、誰も説明できない売上のどちらかとして表面化しがちです。

重要な視点

返金処理における運用上のリスクは、通常、通知を1件見逃すことではありません。応答の遅れがここに、紐づけられていない取引があそこに、といった小さなギャップがゆっくり積み重なり、やがて誰も原因を突き止められない照合の問題として表面化することです。

まとめ

ここで、体系的なApple返金管理ソリューションが重要になります。Appleの判断を左右する手段としてではなく、結果を正しく処理するためのインフラとしてです。実際には、通知の自動モニタリング、信頼できる取引の紐づけ、Appleの期限内に消費情報を準備して送信するための明確なプロセス、そして結果を売上記録と照らし合わせる追跡を意味することが多いでしょう。いずれもAppleの判断を変えるものではありません。変わるのは、判断が下された後に開発者自身のシステムが正確な状態を保てるかどうかです。こうしたワークフローを構築しているなら、 RefundSensorのプラットフォーム概要で各要素がどう組み合わさるかを確認するのが妥当な第一歩です。


これらのルールが記載されているドキュメント

Appleサポート:アプリやコンテンツの返金をリクエストする

Apple Developer Documentation:Send Consumption Information

Apple Developer Documentation:App Store Server Notifications

よくある質問

顧客がApp Storeでの購入について、Appleに直接返金を求める申し立てです。マーチャント・オブ・レコードであるAppleが審査と判断を担い、アプリ開発者は関与しません。

開発者は主にサーバー通知を通じてこのプロセスに触れます。Appleは独自に申し立てを審査し、判断の前に補足となる消費データが必要な場合は開発者に通知することがあります。

はい。返金を承認するか却下するかを決めるのはAppleのみです。開発者は、文書化されたいかなる仕組みを通じても、その判断を承認、却下、または覆すことはできません。

App Store Server Notifications V2を通じて送信される通知で、返金審査中の取引について、開発者に消費情報の任意提供を求めるものです。

Appleは、追加の情報が審査の参考になり得る関連する返金リクエストに対して送信します。すべての返金リクエストやすべての購入タイプに送られるわけではありません。

開発者は、AppleのSend Consumption Informationエンドポイントを通じて、配信ステータス、利用状況の詳細、顧客の同意ステータス、開発者自身の返金に関する意向などの消費情報を送信できます。

App Store Server Notifications V2を監視し、関連するイベントを正しい取引に紐づけ、応答期限と結果を一元的に追跡することで監視できます。

顧客はreportaproblem.apple.comにアクセスしてサインインし、購入を選択して理由を選び、リクエストを送信します。ステータスは同じページから確認できます。これはApple自身の消費者向けプロセスであり、開発者向けツールとは別のものです。

通知の処理、取引の紐づけ、消費データの準備をひとつのワークフローにまとめることで、すべての取引を手動で追跡することなく、Appleの期限内に応答を送信できるようになります。

#Apple Refunds#App Store Server Notifications#iOS App Development#In-App Purchases#Subscription Management#Refund Management
Refund SensorRefund Sensor TeamRefund defense for App Store and Google Play developers