アプリ内課金 その2 実装の手順

実装までの手順は以下の通り

  1. プロダクトの登録
  2. プロダクトの取得
  3. プロダクトの購入
  4. レシートの確認


プロダクトの登録
プロダクトの登録はiTunesConnectにて設定。これは前回完了しているので、
Xcodeでの実装はプロダクトの取得以降となる。

アプリケーション側で登録したプロダクトIDを持っておく必要がある。
コンテンツサーバーからリストをダウンロードしてもいいのだけれど、一番単純にコード内に埋め込む事にする。

プロダクトの取得
プロダクトIDを指定してサーバーにリクエストを投げて登録したプロダクトを取得する。
サーバーからのレスポンスで登録したプロダクト情報を取得をする。

プロダクトの購入
取得したプロダクトを表すオブジェクトを使って購入要求をサーバーに投げる。
もしくはプロダクトIDを指定して購入要求を作成もできる。

課金処理が完了するとサーバーから通知がくる。
これをトリガーとしてコンテンツのダウンロードや機能制限の解除の処理を実行する。
購入処理が終わったらサーバーに終了通知を投げる。
それによって、サーバーのキューから購入要求が削除され手続きが完了する。

レシートの確認
課金処理を行うと、その詳細を表すレシートを取得できる。
過去に購入したプロダクトに対するレシートも確認ができる。

レシートはAppStoreから暗号化された状態で送られてくるので、一度AppStoreのサーバーに戻して復号化する必要がある。
これはサーバーの偽装を防ぐ為の処理らしい。

レシートに含まれる情報は(プロダクトID,購入処理のID、購入日、購入数)