課金アイテム付与失敗時のリトライについて

UE 4.7.6を利用しています。
課金購入成功時に自動的にfinishTransactionされるようになっていますが、
課金アイテム付与前にアプリケーションが終了した場合にアイテム付与のリトライを行うことができないと思います。
AndroidもIabHelper.OnConsumeFinishedListenerに課金成功通知が配置されているので、同様の問題を抱えていると思います。

https://developer.apple.com/jp/documentation/StoreKitGuide.pdf
Appleのストアキットガイド32ページ目のFinishTransactionの解説からも、finishTransactionは即座にやってはいけないと思います。

この問題の回避策はありますでしょうか。

====
英語のできる方に、英語セクションにも翻訳・投稿して頂きました。
https://answers.unrealengine.com/questions/217091/about-failing-to-receive-an-item-that-you-purchase.html

英語のほうにスタッフの方の回答がきました。

githubで4.12ブランチのコードを見てみましたが、まだ直っていないように見えます。
他platformとAPI互換性を保つためにも中の人主導で対応していただきたいのですが…

単純に終了処理やエラー時の振る舞いを実装してないだけだと思います。
これは自分で実装するものだと思いますよ?

GameInstanceを使ってください。
ネットワーク使用時や終了時などのイベントを作ることができます。
①Event Shutdown
②Event TravelFailure
こちらにそれぞれ終了時やネットワーク切断時の処理を実装してください。

伝えたいことはわかりますが、トランザクションが自動的に終了してしまうのであれば先ほどの回答で書いてある箇所で処理を行う必要があるのでは?ということです。

ユーザーの課金情報等取得できるならそこで整合性のチェックを行って同期を取るしか無い気がします。

ドキュメントにはトランザクション中に購入コンテンツのDLとか含めて終わらないと終わらせてはいけないと書いてますね、それに沿う形なら自らEngineに手を入れて直すのが一番手っ取り早いかと思います。

根本的に勘違いをなさっています。
StoreKitを使ってInAppPurchaseを実装したことが無いのだと思います。
トランザクションが自動的に終了されてしまうことが問題なんです。

どれも、元の書き込みを一通り読んだ上ならば出てこないツッコミだと思うんですが…