自作ストアの RetrieveProducts メソッドでは、呼び出されたときに、最新のプロダクトのメタデータと、必要に応じて現在のユーザーのプロダクト所有状態を取得する必要があります。
この処理が完了したら、初期化を行うにあたり、ストアに供給されている IStoreCallback の OnProductsRetrieved メソッドをストアから呼び出す必要があります。すると購入可能なプロダクトを表す ProductDescription のコレクションを取得できます。
プロダクトをユーザーが所有している場合は、自作のストアで ProductDescription のレシートとトランザクション ID のフィールドを上書きしても構いません。Unity IAPは、処理が完了していないトランザクションがあるとアプリケーションの ProcessPurchase メソッドを実行しようとします。
ユーザーがオフライン状態で接続が回復するまでストアとの接続をリトライする必要がある場合は、必要以上にリトライの再試行を行わないようにしてゲームパフォーマンスに影響を与えないよう注意してください(毎フレームでリトライするのではなく数秒ごとに、など)。
開発者がストアの設定を間違えたなど、回復不可能なエラーが発生したためにプロダクトを取得できない場合は、ストアの構成に関するエラーとして IStoreCallback の OnSetupFailed メソッドを、InitializationFailureReason 応答を指定して呼び出す必要があります。