非更新サブスクリプション モデルを使用するアプリがあります。アプリ内購入のテスト アカウントを使用すると、うまく機能します。ただし、Apple の本番サーバーでは、何らかの理由でユーザーが私のアプリからアプリ ストアに移動することがあります (更新された請求情報が原因である場合もあれば、セキュリティの質問に回答するためである場合もあります)。これは、支払いがキューに追加され、Apple 独自の支払いフローに追加された後です。ユーザーがアラート ビュー オプションを押してアプリ ストアに移動すると、私のトランザクション オブザーバーは、SKPaymentTransactionStateFailed
州。それはいいです。ただし、ユーザーが請求情報を更新するか、セキュリティの質問を確認した後、アプリ内購入を引き続き購入するかどうかを (アプリの外で) 尋ねられます。それが完了すると、それらはアプリ (それ自体が閉じられた) に戻され、トランザクション オブザーバーからは何も返されません。キューは、製品のリストが取得されたときに購入した製品でのみ更新されます。オブザーバーは通知の前に登録します
だから私の質問は:
アプリ外 (アプリ ストア アプリ) で行われた購入を処理するにはどうすればよいですか?
アプリを開く前に購入が行われた (完了していない) 場合、キューはどの時点で更新されますか? 常にオブザーバーを使用する必要があることはわかっていますが、ユーザーがアイテムを購入したことを知らずにアイテムを 2 回購入することは避けたいと考えています。