1. 準備
App 内課金を設定するためのワークフロー - App Store Connect ヘルプ (この章が含まれる「App 内課金の提供」は全て確認必須)
https://help.apple.com/app-store-connect/?lang=ja#/devb57be10e7
App内課金 - Apple Developer
https://developer.apple.com/jp/in-app-purchase/
Appへのお試しオファーの実装 - StoreKit 日本語ドキュメント
https://developer.apple.com/jp/documentation/storekit/in-app_purchase/subscriptions_and_offers/implementing_introductory_offers_in_your_app/
自動更新サブスクリプション - Apple Developer
https://developer.apple.com/jp/app-store/subscriptions/
2. 実装
Appleサーバから送信されるApp Store Receipts - Apple Developer
https://developer.apple.com/documentation/appstorereceipts
全てのアプリ内課金レシートが含まれる responseBody.Latest_receipt_info のプロパティ - Apple Developer
https://developer.apple.com/documentation/appstorereceipts/responsebody/latest_receipt_info
3. テスト
App 内課金のテスト - App Store Connect ヘルプ
https://help.apple.com/app-store-connect/?lang=ja#/dev7e89e149d
SandboxでのApp内課金のテスト - StoreKit 日本語ドキュメント
https://developer.apple.com/jp/documentation/storekit/in-app_purchase/testing_in-app_purchases_with_sandbox/
注意事項;
Sandboxでのテストは、iOSデバイスの設定画面でのアカウント毎のアプリ内課金のリセットや、App Store Connectでの購入の中断の設定のON/OFFを繰り返していると、下記のような実際のテスト時に設定が反映されていない状況が発生し、テストが狙い通りにならない場合がある。
発生する現象:
・しばらくはレシートが残ったままになる。
・購入の中断の設定がテスト時に反映されない。
・iOSデバイスの設定画面でリセットの選択肢が表示されない。
・リセットしたのに、無料お試しオファーが表示されず、通常の購入になる。
この現象が発生した場合は、しばらく時間を経過してから、アプリ内課金のリセットをして再施行すること。