App 内課金のテスト

Sandbox でのテストの概要

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

テストできるシナリオは、以下の通りです。

シナリオ

説明

App Store の国や地域のテスト

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

自動更新サブスクリプションのイベントのテスト

各サブスクリプションの実際の登録期間を費やすことなく、自動更新サブスクリプションのイベント (更新、ステータスの変更、購入の中断など) をテストできます。

App Store サーバ通知のテスト

サーバに App Store サーバ通知Sandbox 環境に関する通知が届くかをテストできます。

ファミリー共有のテスト

Sandbox テストファミリーを作成し、アプリにおけるファミリー共有機能のテストを行うことができます。自動更新サブスクリプションや非消耗型アプリ内課金を最大 5 人のテストファミリーメンバーと共有できます。

Apple Pay トランザクションのテスト

テスト用クレジットカードおよびデビットカードを使用して、アプリにおける Apple Pay の実装をテストできます。詳しくはこちらをご覧ください。

テストを始めるにあたり、まず App Store Connect で Sandbox Apple ID を作成し、開発用に署名されたアプリを実行するデバイスにその Apple ID でサインインしてください。アプリのテストに使用する各デバイスでデベロッパモードをオンにする必要があります。

アプリ内課金のテストは、Xcode 内の StoreKit のテスト機能を使って行うこともできます。こちらは、アプリ内課金のテストを行う際に App Store サーバへの接続を必要としないローカルなテスト環境を提供します。当該機能を使って、App Store Connect でアプリ内課金を設定する前にテストしたり、ネットワーク接続なしでコードをテストしたりできます。Xcode や Sandbox でアプリ内課金をテストする方法については、こちらを参照してください。