App 内課金のテスト

Apple は、Sandbox と呼ばれるテスト環境を提供しています。当該環境では、テストアカウントを使用して、App 内課金を無料でテストすることができます。Sandbox は、App Store のインフラストラクチャを使用しますが、実際の支払いを処理しません。その代わり、支払いが正常に処理されたものとしてトランザクションが返されます。

テストを行うにあたり、App 内課金が App Review によって承認済みである必要はありません。Xcode や Sandbox で App 内課金をテストする方法については、こちらを参照してください。

App Store Connect で、Sandbox テスターの追加および以下の設定の管理ができます。

App Store の国または地域

テストアカウントは、175 の App Store ストアフロントのいずれかに設定することができます。これにより、新しいテスターを作成することなく、1 つの Sandbox Apple ID を使って異なるストアフロントでテストを行うことができます。

国や地域の変更後は、その変更を完了させるために、お使いのデバイスで自身の Sandbox Apple ID を使って再度サインインする必要があります。

サブスクリプションの更新頻度

Sandbox を使用することで、各サブスクリプションの実際の登録期間を費やすことなく、サブスクリプションのイベント (更新、ステータスの変更、購入の中断など) をテストできます。Sandbox でテスターを追加したら、サブスクリプションの更新頻度を各テスターごとに選択してください。デフォルトでは 1 か月 = 5 分という設定になっていますが、更新頻度は下記に挙げられているオプションの範囲で増減が可能です。サブスクリプションは、12 回自動更新されると 13 回目の更新時に自動的にキャンセルされます。

Sandbox 環境におけるサブスクリプション期間の短縮オプション

サブスクリプション期間

3 分ごとに更新

5 分ごとに更新 (デフォルト)

15 分ごとに更新

30 分ごとに更新

1 時間ごとに更新

1 週間

3 分

3 分

5 分

10 分

15 分

1 か月

3 分

5 分

15 分

30 分

1 時間

2 か月

6 分

10 分

30 分

1 時間

2 時間

3 か月

9 分

15 分

45 分

1 時間 30 分

3 時間

6 か月

18 分

30 分

1 時間 30 分

3 時間

6 時間

1 年

36 分

1 時間

3 時間

6 時間

12 時間

購入の中断

iOS 14 以降を実行しているデバイスで購入の中断シナリオをテストするには、特定の Sandbox Apple ID に対して App Store Connect で購入の中断を有効にしてください。このオプションが選択されている場合、Sandbox Apple ID によるデバイス上の購入試行は Sandbox 環境で中断され、オプションが選択解除されるか、テスターが iOS デバイスの利用規約に同意するまで中断された状態が続きます。これにより、App の中断処理をテストして、シームレスなユーザ体験を実現できます。

一般的に、カスタマーが Apple ID の問題に対処する必要があるときは、常に購入の中断が発生します。たとえば、更新された利用規約に同意する場合や、期限切れの支払い方法を更新する場合などが該当します。

テスト内容やユーザのデバイスでテストをする方法については、「Testing an Interrupted Purchase (英語)」や「Testing In-App Purchases with Sandbox (英語)」を参照してください。

支払いの再試行ステータスにあるサブスクリプションの更新といったシナリオをテストする際に、iOS の「アカウント設定」でテスターに関して管理できる追加設定についてはこちらを参照してください。

支払いの再試行

以下の表は、Sandbox 環境における、支払いの再試行および請求の猶予期間中の更新頻度を示しています。請求の猶予期間を有効にした場合、当該期間は支払いの再試行と同時に始まり、支払いと再試行期間の経過時またはサブスクリプションの回復時/キャンセル時のいずれか早い方のタイミングで終了します。

Sandbox は、支払いの再試行期間中にサブスクリプションの回復を少なくとも 6 回試みます。

3 分ごとに更新

支払いの再試行

請求の猶予期間

週間サブスクリプション

6 分

3 分

月間および年間のサブスクリプション

6 分

3 分

5 分ごとに更新 (デフォルト)

支払いの再試行

請求の猶予期間

週間サブスクリプション

10 分

3 分

月間および年間のサブスクリプション

10 分

5 分

15 分ごとに更新

支払いの再試行

請求の猶予期間

週間サブスクリプション

30 分

5 分

月間および年間のサブスクリプション

30 分

15 分

30 分ごとに更新

支払いの再試行

請求の猶予期間

週間サブスクリプション

1 時間

10 分

月間および年間のサブスクリプション

1 時間

30 分

1 時間ごとに更新

支払いの再試行

請求の猶予期間

週間サブスクリプション

15 分

2 時間

月間および年間のサブスクリプション

1 時間

1 時間

Sandbox で App 内課金をテストする方法については、こちらを参照してください。

必要な役割: Account Holder、Admin、App Manager、または Developer。「役割の権限」を参照してください。

テスター設定の編集

Sandbox テスターの設定を変更するには、以下の手順に従います。

  1. 「ユーザとアクセス」で、「Sandbox テスター」をクリックして Sandbox Apple ID を表示します。

  2. 設定を変更する Sandbox Apple ID をクリックします。

  3. 表示されるダイアログで適宜編集します。

  4. 「保存」をクリックします。

    Sandbox のプロンプトのスクリーンショット

購入履歴の消去

テスターの購入履歴を消去することで、同じ Sandbox Apple ID を引き続きテストに使用できます。購入履歴を消去すると、選択されたテスターにより Sandbox 環境上で過去に購入された自動更新サブスクリプションおよび非消耗型プロダクトがすべて削除されます。カスタマーのアカウントは影響を受けません。

テスターの購入履歴を消去するには、以下の手順に従います。

  1. 「ユーザとアクセス」の「Sandbox」で、「Sandbox テスター」をクリックします。

  2. 「編集」をクリックします。

    「Sandboxテスター」のスクリーンショット (右上の「編集」ボタンを指す矢印あり)
  3. 変更するテスターを選択し、「購入履歴を消去」をクリックします。

    「Sandboxテスター」のスクリーンショット (右上の「編集」ボタンを指す矢印あり)
  4. 表示されるダイアログで「購入履歴を消去」をクリックします。

    購入履歴の数が多い Sandbox Apple ID の場合、履歴の消去に時間がかかることがあります。一度消去すると元には戻せません。