2012年5月25日

【Android】月額課金について翻訳してみた


Androidの月額課金が実装可能になりましたので、
簡単にAndroid Developersページをまとめてみました。

参考:Subscriptions | Android Developers

[以下、意訳]
誤訳がありましたらお教え願います。

定期購読の開始と終了


定期購読(月額課金)のアプリ内課金を開始するには、Developer Consoleを使用し、アプリに対する商品リストを作成、設定して下さい。定期購読では価格(price)支払いの有効期間(billing interval)を商品毎に決め、定期購読ID、商品タイトル、商品説明を決めます。準備が出来ましたら、定期購読のアプリ内課金を開始出来ます。

商品リストには、アプリ内課金の定期購読商品、1回のみの課金商品の両方を並べる事が出来ます。別々のコンテンツを提供する複数の定期購読を並べる事も出来ます。また、同じコンテンツに別の購読期間(月額/年額)や値段を設定した商品を並べる事も出来ます。

定期購読商品を商品リストに追加したら、Google Playで課金出来るようにする前に、コンテンツの提供を可能にしておいて下さい。また、定期購読フローを組み込んだアプリ本体の公開も同様にお願いします。

定期購読の値段


Developer Consoleで定期購読商品を設定する際に、課金可能通貨それぞれに価格を設定出来ます。定期購読商品はすべて0円以上の値段を付ける必要があります。また、同じコンテンツの定期購読に対して複数の値段を設定する事が出来ます。例えば、年額課金は月額課金に対しての割引をする事が出来ます。

支払いに関して


定期購読は下記の2つの期間を設定する事が出来ます。

Monthly - 支払日から翌月同日までの課金
Annually - 支払日から翌年同日までの課金

課金の継続は上記の期間の間、設定した値段で継続されます。また、購読の更新はGoogle Play側で自動的に行い、更新後にユーザへメールにて通知を行います。課金の間隔は、支払日を基準に購読と同じ間隔で行われます。

定期購読継続中は、Google Playは初回(もしくは前回)と同様の課金方法(クレジットカードやキャリア課金)で再課金し、それを継続します。

Google Walletによって継続課金が許可された場合、Google Playは購入トークンをIn-app Billing APIを利用してアプリへ送信します。詳細はPurchase tokenの項目を参照して下さい。購入トークンによって、リモートから課金チェックや、返金対応が出来ます。

支払いエラーが起きた場合(クレジットカードの期限切れ等)、Google Playからアプリ側へ購入ステータスが変更された事を通知します。

アプリから定期購読の支払いトークンエラーを収集するサーバを用意し、開発者からユーザのエラー等に対して直接追跡出来るようにする事をお勧めします。

定期購読のキャンセル


ユーザはPlay StoreMy Apps画面で、すべての定期購読商品のステータスを参照する事が出来、そこからキャンセルする事が出来ます。現在(2012/05/25)、In-app Billing APIはキャンセル用APIをサポートしておりません。なので、Play StoreのMy Apps画面を開くIntentでキャンセル画面へ誘導する方法が良いでしょう。

ユーザが定期購読をキャンセルした場合、Google Playはキャンセルした期間中の返金要求に応じません。ただし、キャンセルしても、前回課金が発生した日から課金期間終了まではコンテンツにアクセス出来るようになっております

場合によっては、ユーザから定期購読のキャンセル要求が開発者へ直接来る場合があります。こういった場合、サーバ側のAPIを利用しユーザの定期購読をキャンセルする事が出来ます。

アプリの削除


ユーザが定期購読に課金中のアプリを削除した場合、Play Storeアプリが削除しようとしているアプリにアクティブな定期購読商品が含まれているとユーザへ通知します。もしユーザが削除フローを続けた場合、アプリは削除されますが、課金は継続します。定期購読の削除はPlay StoreのMy Apps画面からいつでも出来るようになっております。削除をキャンセルした場合も同様に定期購読は継続されます。

返金


Google Playは定期購読に対しての返金画面を用意しておりません。例えば、通常のアプリ内課金であれば、15分以内であればキャンセル、返金が可能ですが、定期購読の場合は15分以内のキャンセルフローを用意しておりません。ユーザは返金要求をする場合、販売元へ直接問い合わせる事になります。

開発者が返金要求を受け取ったら、サーバ側APIを使用し、定期購読のキャンセルが出来ます。ただし、Google Playではキャンセルしても期限が終了するまでは課金継続中だと考えますので、ユーザは課金コンテンツへアクセスする事が出来ます。

課金プロセスとポリシー


定期購読はGoogle Walletを利用した課金のみを対象としております。他のアプリ内課金と同様に、定期購読商品の購入には手数料として、購入金額の30%をGoogle Playへ支払う事になります。

Google Playで公開される定期購読商品を販売するアプリはIn-app Billingを使用して購入手続きを進める必要があります。また、Google Playアプリ外のWebサイト等へのリンクは提供されません。詳しくはpilicies documentを読んで下さい。

定期購読のシステム要求


定期購読は下記2つの要求にマッチしている必要があります。

Android 2.2以降
Google Play Storeアプリがversion3.5以上

互換性に関して


前の章でお教えした通り、定期購読は上記のシステム要求を満たした端末でのみ動作いたします。すべての端末でGoogle Play 3.5がインストールされている訳では無い為、開発アプリをインストールしたすべての端末でIn-app Billingと定期購読APIへのアクセスがある訳ではありません。

もしAndroid2.1以下の古い端末もターゲットにしている場合は、別の方法で定期購読コンテンツへアクセス出来るようにする方法を実装する事をお勧めします。例えば、通常のアプリ内課金で1ヶ月分や1年分を販売し、コンテンツにアクセス出来るようにしておくと良いでしょう。

続き:Androidの月額課金の実装を翻訳してみた

現在のAPIバージョンはv3です。【Android】In-App Billing API v3