Refund Sensor

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。

サービスアカウントと鍵を作成する

  1. Play Console を所有するアカウントで Google Cloud Console を開き、プロジェクトを選ぶか作成します。左メニューで IAM & Admin を開き、Service accounts をクリックします。
  2. + Create service account をクリックし、RefundSensor Google Play API のような名前を付け、Create and continue と Done をクリックします。ここではオプションのロールは省略できます。
  3. サービスアカウントのメールアドレス をコピーします(末尾が .iam.gserviceaccount.com)。次のステップで必要になります。
  4. サービスアカウントを開き、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 か所 で財務アクセスを付与します。返金(無効化された購入)のデータはアカウント単位で読み取られるためです。

  1. Google Play Console で Users and permissions → Invite new users を開き、サービスアカウントのメールアドレス を貼り付けます。サービスアカウントは保存した時点で有効になり、自分で招待を承認することはありません。
  2. App permissions で、防御したい各アプリを追加し、View financial data と Manage orders and subscriptions をオンにします。
  3. 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 とも突き合わせるので、争うものがなかった場合でも、すべての返金と無効化された購入がダッシュボードに記録されます。