簡潔な回答: Google Playでは、購入が返金または取り消されたことを知る方法が2つ用意されています。Real-time Developer Notifications(RTDN)は、イベント発生とほぼ同時にGoogle Cloud Pub/Sub経由でサーバーへプッシュ通知を送ります。Voided Purchases APIは、無効化された購入の一覧を必要なときにプル(取得)できます。両者は代替手段ではありません。RTDNはスピードを、Voided Purchases APIはセーフティネットをもたらし、信頼できる仕組みでは両方を使うことで取りこぼしを防ぎます。
Googleが2つの仕組みを用意している理由
Google Playでは、ほとんどの返金はあなたに確認することなく行われます。Googleが返金を発行し、エンタイトルメントを取り消します。あなたの役割は、それを把握してアプリと分析データの正確性を保つことです(異議を申し立てられるケースとそうでないケースについては、Google Play Refunds & Chargebacksをご覧ください)。
Googleは、それを把握するための2つの異なるツールを提供しており、それぞれ正反対の方向から問題を解決します。一方はイベント発生時にあなたへプッシュ通知を送ります。もう一方は、好きなタイミングで一覧を要求できます。両方を併用すれば互いの弱点を補い合えますが、どちらか一方だけでは抜け漏れが生じます。
android 返金 追跡に取り組む開発者にとって、この違いを理解することは重要です。リアルタイムのイベントストリームと、過去データを照合する仕組みとでは、返金監視という課題の異なる部分を解決するからです。
Real-time Developer Notifications(プッシュ)
Real-time Developer Notifications(RTDN)はプッシュ方式の仕組みです。サブスクリプションや購入に関して、返金やvoided purchaseを含む何らかの出来事が発生すると、Googleはあなたのバックエンドが購読しているGoogle Cloud Pub/Subトピックへイベントを発行します。重要なのは即時性です。数時間後に気付くのではなく、発生したタイミングに近いところでそのイベントを知ることができます。
rtdn google play連携を探している開発者にとって、これはGoogle Playの課金イベントとバックエンドをつなぐ仕組みです。チャージバック審査のように、対応までの猶予が約24時間しかない時間的制約のあるケースでは、この即時性がすべてを左右します。定期的なチェックに頼っていては、その時点ですでに余裕のない時間を失っていることになります。
ただし注意点があります。RTDNはPub/Sub上で動作するため、Google Cloudプロジェクトの設定、トピックの作成、Google Playに対する適切なパブリッシュ権限、そして自社側のサブスクライバーが必要になります。単一のwebhookに比べて可動部分が多く、多くの開発者がここでつまずきます。
Voided Purchases API(プル)
Google Play Voided Purchases APIはプル方式の仕組みです。無効化、返金、チャージバック、取り消しのいずれかが行われた注文の一覧を返し、必要なときにクエリできます。イベントを待つ代わりに、「何が無効化されたか」をGoogleに直接尋ねる形です。
その強みは網羅性とリカバリ性です。プッシュ通知が遅延したり、見逃されたり、そもそも処理されなかったりした場合でも、Google Play Voided Purchases APIに対してプルを行えば、その無効化された購入を把握できます。これにより照合を行い、自社の記録がGoogle側と一致していることを確認できます。
トレードオフとして、本質的に即時性はありません。あくまでクエリして取得するものなので、単体ではトリガーというよりセーフティネットの役割を果たします。
どちらか一方ではなく、両方が必要な理由
多くの人が混乱しがちな点がここにあります。これは「どちらが優れているか選ぶ」という話ではありません。
RTDN単体ではスピードは得られますが網羅性は保証されません。通知を見逃したり誤って処理したりすれば、そのイベントは視界から消えてしまいます。
Voided Purchases API単体では網羅性は得られますがスピードはありません。返金について知るのは、たまたま次にクエリを実行したタイミングになります。
RTDN Google Playはバックエンドにリアルタイムのシグナルをもたらし、一方でGoogle Play Voided Purchases APIは見逃しや遅延したイベントのための照合レイヤーを提供します。
信頼できる仕組みでは、RTDNをリアルタイムのトリガーとして使い、Voided Purchases APIをプッシュ経路で取りこぼしたものを拾う照合レイヤーとして使います。スピードとセーフティネットの両立です。どちらか一方だけでは、いずれ落ち込んでしまう穴が残ります。
複雑になりがちなポイント
これを正しく構築するのは見た目以上に手間がかかり、しかもその労力は一度きりではなく継続的に必要です。
Pub/Subのプロビジョニング。 トピックの作成、Google Playへのパブリッシュ権限の付与、バックエンドの購読設定、そして権限を正確に整えることは、午後の時間を2〜3回分は食いつぶしかねない工程です。このpub/sub play billingの設定は、課金インフラの拡大に合わせて信頼性を保ち続ける必要もあります。
同期を保つべき2つのシステム。 プッシュのコンシューマーと、スケジュール実行されるプル&照合ジョブの両方を運用し、両者の内容が一致していることを確認する必要があります。
重複排除と順序の整合性。 同じイベントが複数回届いたり、順序が入れ替わって届いたりすることがあるため、処理側はべき等である必要があります。
最新状態の維持。 Googleは課金APIやイベントタイプを改訂することがあり、連携側もそれに合わせて更新しなければ、知らぬ間に古いままになってしまいます。
Google Play 返金通知。 システムは、関連するgoogle play 返金通知のひとつひとつを正しく処理し、該当する購入、エンタイトルメント、顧客レコードと紐づける必要があります。
個々の項目はどれも特別難しいものではありません。しかし全体として見れば、構築・保守すべき本格的なインフラであり、しかもその労力の見返りは、結局はほとんど異議を申し立てられない返金を正確に追跡できるという程度のものです。
返金対応全体における位置づけ
これらを組み合わせると、Google Playの返金対応は2つの要素から成り立っていることがわかります。1つは、異議を申し立てられる唯一のケース(チャージバック審査)を猶予期間内に確実に捉えること、もう1つは、異議を申し立てられないすべてのケースを正確に記録し、エンタイトルメントと分析データの整合性を保つことです。どちらの要素も、RTDNとVoided Purchasesという土台がしっかりしていることに依存しています。
「rtdnとvoided purchases apiでgoogle playの返金を追跡する方法」を知りたいチームへの答えは、RTDNを迅速なイベント検知に、Voided Purchases APIを照合とリカバリに使うことです。これにより、バックエンドは返金、voided purchase、チャージバックについてより完全な全体像を把握できるようになります。
まさにこのレイヤーをRefundSensorが代わりに管理します。Pub/Subトピックを自動でプロビジョニングするため、Play Consoleにはトピック名を1つ貼り付けるだけで済みます。RTDNをリアルタイムで消費し、voided purchaseと照合して取りこぼしを防ぎ、猶予期間内にチャージバック審査への却下推奨を提出し、それ以外のすべての返金を記録します。これらすべてが、Appleの返金データと並んで1つのdashboardにまとまります。つまり、2つの仕組みを自分で構築・保守することなく、正しいセットアップを行った場合と同じ結果を得られるのです。
公式情報源 {#official-sources}
Googleの課金APIは変更されることがあるため、最終的な判断基準としては公式ドキュメントを参照してください。
1つのセットアップで、2つの仕組みを、メンテナンス不要で。 RefundSensorはPub/Subを自動プロビジョニングし、RTDNをリアルタイムで消費し、voided purchaseと照合し、Google PlayとAppleのチャージバック審査を1つのdashboardで処理します。 無料で始める →
公開後に追加する内部リンク: Google Play refunds cornerstone · Apple refund automation cornerstone · the 12-hour window.
よくある質問
RTDNはPub/Sub経由でイベントをリアルタイムにサーバーへプッシュします。一方Voided Purchases APIは、無効化された注文の一覧を必要なときに取得(プル)できます。RTDNはスピードを、Voided Purchases APIは網羅性をもたらします。
信頼できる仕組みにするなら、両方必要です。RTDNはリアルタイムのトリガーであり、Voided Purchases APIはプッシュ経由で見逃したものを拾う照合用のセーフティネットです。どちらか一方だけでは抜け漏れが生じます。
返金、チャージバック、権利取り消しなどにより、有効ではなくなった注文のことです。voided purchaseを追跡することで、エンタイトルメントと分析データの正確性を保てます。
RTDNはGoogle Cloud Pub/Sub上で動作するため、トピックの作成、Google Playへのパブリッシュ権限の付与、そして自社側のサブスクライバーの用意が必要です。単一のURLを貼り付けるだけのwebhookに比べると、可動部分が多くなります。RefundSensorはPub/Subトピックを自動でプロビジョニングし、この手間を取り除きます。
ほとんどの場合できません。通常の返金や権利取り消しはGoogleが決定します。唯一異議を申し立てられるのは審査中のチャージバックで、RTDN経由でこれを検知し、約24時間の猶予期間内に対応する必要があります。



