iOSの継続課金のレシート検証では、
アプリ側からbase64でエンコードされたレシート情報(文字列)をサーバーが受け取り、
それをApple検証サーバーに投げてそのレスポンスを検証すると思います。

サーバーの課金バリデーションロジックが通ったら、
ユーザー情報やレシート情報(transactionIdや有効期限等)をデータベースに保持すると思います。その時、最初にアプリから受け取った生レシート(base64でエンコードされた文字列)もサーバーのデータベースに保持すべきでしょうか?

継続課金レシートのエンコードデータは課金更新されるたびに履歴が増えるのでDBに保持しても容量を取り、そもそも使用する機会はあまりないと思っていたのですが、ユーザーの課金で何か不具合があったときにその時必要な情報を参照できるように大元は残しておいたほうがよいのか、という点で保持すべきかどうかを迷っています。課金で不具合があった際に(保持しなかったことで)問題解決できないことを避けたいというのが今回の質問の背景になります。

// エンコードされたレシート(例)
WDGldlGDEwASAgIGrwIBAQQJAgcDjX6kGKkdkkSekgkFSkkgkdkdgkgdFSMjAxOC0wNy0yM
VowHwICBqoCAQESIgSUgaKDKgNy0yMlQwOVowggF8AgERAgEBBIIBcjGgegeGAMjAxOC0wd
E0yMFQxOToxMTo0OVowggF8AgERAgEBBIIBcjGgegeGwCwICBq0CAQEEAgwAMGaFlgdFAgB
DGdGwCwGDYCAQEEAgwAMAwCAgalAgEBBAMFCAQEwDAICBqsCAQEEAwIBAzAMAgIGrgIBAQS
QDAgEAMgEUKkkfkeolgakmMgDwDAICBrcCAQEEAwIBADASAgIGrwIBAQQJAgcDjX6nIpJnM
(以下続く)