前回の続き。Subscription Guidanceがあったので、読んでおく(*´ω`*)
Subscription Guidance
章立てとしてはこんな感じ
- Free Trials & Promo Offers
- トライアルや特典の話。各ストアでの処理が解説
- Billing Issues & Grace Periods
- 請求/決済の問題と猶予期間について
- Upgrades, Downgrades, & Management
- プラン変更やキャンセル、払い戻しについて
- Changing Prices
- サブスクの価格変更について
- Handling Refunds
- 購入の払い戻しについて
- Google Prepaid Plans
支払い問題と猶予
各ストアでの対応状況はこんな感じ。
Store | Required? | Duration |
---|---|---|
App Store | Optional | Customizable |
Google Play | Optional | Customizable |
Stripe | Optional | Customizable |
Amazon | ❌ Not supported | N/A |
Encountering Billing Issues
支払い方法が無効や期限切れの場合、サブスクの購入や自動更新ができない。
この請求に関する問題が発生すると、管理画面やwebhookに送られる。
RevenueCatが送信する請求問題イベントは1つだけ
Entering a Grace Period
支払いが失敗しても、猶予期間の間は、購入状態を維持する。
猶予期間が過ぎると、キャンセル扱いになる。
プラン変更/解約
一部はRevenueCat経由で操作できるけど、それ以外は顧客がストアで直接操作する必要がある。
Upgrade or Downgrade a Subscription
アップグレード/ダウングレードなどのプラン変更について
- Apple/iOSの場合
- アップグレード/ダウングレードなどのプラン変更は、ストア操作のみ
- Subscription Groupを活用するとよい
- Google/Androidの場合
- RevenueCat SDKで操作可能
- 古いProductIdを指定する必要がある
- 価格の差額については、いろんな計算方法がある
Cancelling Subscriptions
サブスクのキャンセル/解約について
managementURL
に各ストアのURLがあるため、iOS/Androidであれば、
このリンク先を表示するのが便利。
また、RevenueCat上でユーザを削除しても、サブスクは解約されないので注意
価格変更
各ストアで価格を変更した場合、顧客は新しい価格にオプトインする必要がある。
もしオプトインしない場合、各ストア側からキャンセルされる場合がある。
(変更した価格への反映は、24時間ほどかかるらしい)
App Store Price Changes
iOSでは、値上げすると、影響を受ける顧客にメールとプッシュ通知を送信し、
新しい価格への同意を求める場合がある。小規模・高頻度の場合はオプトイン不要な場合もある。
iOS13.4+/iPadOS13.4+では、メッセージシートが自動表示され、
新しい価格に同意を得ることができる。同意しない場合、キャンセルとなる。
既存のサブスクを廃止し、新しいサブスクを追加することで、
値上げすることもできるが、この場合は、同意が必要ない。
値下げの場合は、同意は不要で、更新時に適用される。
Appleのガイドは、このあたり
RevenueCatでは、購入時の価格を追跡しているが、
ダッシュボード上では、新規購入したときの価格を表示する。
platform server notificationsのv2やApp Store Connect API Keyを設定することで、
価格変更の検出を有効にでき、正確な取引価格を保つことができる。
Google Play Price Changes
Google Playは個別の取引価格を送信しないため、
新規購入したときの価格のままであると想定して記録される。
既存の定期購入者には、そのままの価格を維持する場合は問題がない。
既存のサブスクの価格を変更すると、以下の動きになる
- 新規のユーザは、新しい価格
- 既存のユーザには、価格変更の7日後にメールと通知が送られる 30日以内に価格変更に同意しないと、キャンセル扱いになる
- 値下げの場合、通知が送信され、次回更新日に適用される
Googleのガイドは、このあたり
返金対応
各ストアで対応方法が異なる
- Apple
- 顧客がApple supportに依頼
- 非定期購読の場合は、Platform Server Notificationsの設定が必要
- Google Play
- RevenueCat管理画面から返金可能
- Google側で返金された場合は、最大24時間のラグがでる
以上!! 運用するうえで必要なのがまとまってた。。 ありがたい。。。(*´ω`*)