Google Play の設定
リアルタイム通知で Refund Sensor を Google Play Console に接続。チャージバック審査を自動化し、24 時間以内に応答して収益を守ります。
始める前に
Refund Sensor は、あなた自身の Google Cloud プロジェクトで作成するサービスアカウントで Google Play に接続します。期限切れがなく、再認可も不要です。次のものが必要です。
- Play Console を所有するアカウントの Google Cloud プロジェクト(無料のもので構いません)。
- ダウンロードできる JSON キーを持つサービスアカウント。
- そのアカウントに付与された Play Console のアクセスと Pub/Sub Admin。
- 防御したいパッケージ名または Play Store の URL。
サービスアカウントと鍵を作成する
- Play Console を所有するアカウントで Google Cloud Console を開き、プロジェクトを選ぶか作成します。左メニューで IAM & Admin を開き、Service accounts をクリックします。
- + Create service account をクリックし、RefundSensor Google Play API のような名前を付け、Create and continue と Done をクリックします。ここではオプションのロールは省略できます。
- サービスアカウントのメールアドレス をコピーします(末尾が
.iam.gserviceaccount.com)。次のステップで必要になります。 - サービスアカウントを開き、Keys タブに切り替え、Add key → Create new key をクリックし、JSON を選んで Create をクリックします。Google が
.jsonファイルをダウンロードします。安全に保管してください。Google は再ダウンロードを許可しません。
必要な API を有効化する
プロジェクトには 2 つの Google API を有効化する必要があります(プロジェクトごとに 1 回)。Google Cloud Console でプロジェクトを選んだ状態で、それぞれを検索して有効化します。
- Google Play Android Developer API。サービスアカウントが返金と注文のデータを読めるようにします。
- Cloud Pub/Sub API。リアルタイムの返金通知を支えます。Pub/Sub Lite ではなく Cloud Pub/Sub であることを確認してください。別の製品です。
認証情報を追加する
Refund Sensor で Add app を開き、Google Play を選んで .json キーファイルをアップロードします。私たちは Google で検証し、AES-256-GCM で保管時暗号化して保存します。
Play Console の権限を付与する
サービスアカウントを Play Console に招待し、2 か所 で財務アクセスを付与します。返金(無効化された購入)のデータはアカウント単位で読み取られるためです。
- Google Play Console で Users and permissions → Invite new users を開き、サービスアカウントのメールアドレス を貼り付けます。サービスアカウントは保存した時点で有効になり、自分で招待を承認することはありません。
- App permissions で、防御したい各アプリを追加し、View financial data と Manage orders and subscriptions をオンにします。
- Account permissions タブ(見落としやすい)に切り替え、Financial data の下で View financial data, orders and cancellation survey responses と Manage orders and subscriptions をオンにして保存します。
Pub/Sub Admin を付与する
リアルタイム通知は、私たちが作成して設定する Pub/Sub トピックを通じて Refund Sensor に届くので、Play Console に貼り付けるものはありません。必要なのは Pub/Sub を管理する権限だけです。IAM & Admin → IAM で Grant access をクリックし、サービスアカウントのメールアドレスをプリンシパルとして貼り付け、ロール Pub/Sub Admin(roles/pubsub.admin)を選んで保存します。Pub/Sub Lite Admin ではなく Pub/Sub Admin を選んでください。Lite のロールは機能せず、自動設定が失敗する最も一般的な原因です。
アプリを追加する
Add apps のステップで、Play Store の URL またはパッケージ名を 1 行に 1 つ貼り付けます(パッケージ名は Play Store のリンクで ?id= の後にある値、例えば com.yourcompany.app)。Refund Sensor はインポート前に、接続済みアカウントの Play Console アクセスに対して各項目を検証し、見えないものにはフラグを立てます。
リアルタイム通知
API を有効化して Pub/Sub Admin を付与すると、アプリのインポート時にトピックとプッシュサブスクリプションが自動作成され、アプリの RTDN エンドポイントとして登録されます。その後アプリには、Google が最初の実イベントを配信するまで Awaiting first refund event と表示されます(Google 側にテストボタンはありません)。自動設定が失敗した場合、アプリカードに Real-time notifications not set up と、このガイドへ戻るリンクが表示されます。
Refund Sensor が Google Play で応答するもの
すべての Google Play の返金を争えるわけではありません。通常のユーザー返金は Google が単独で決めるため、可視化のために記録されますが、争いません。
実際に応答できる唯一の返金は 審査中のチャージバック(Google の pendingRefundReviewNotification)です。約 24 時間 が与えられ、最初の応答が尊重されます。Refund Sensor はこれに拒否の推奨で自動応答し、期限内に十分間に合わせます。
保険として、Refund Sensor は Google の Voided Purchases API とも突き合わせるので、争うものがなかった場合でも、すべての返金と無効化された購入がダッシュボードに記録されます。

