App Store 経由で会費プランを購入する際、Apple のサーバー応答が一時的に遅れたときに「購入処理に失敗しました」と表示されてしまう不具合を修正しました。
原因は、通信タイムアウトを 8 秒で 1 回しか待たない設計でした。Apple のサーバーが混雑しているときは 10 秒以上かかることがあり、その場合に購入が成立していてもアプリ側ではエラー扱いになっていました。
本修正では、タイムアウト時間を 12 秒に延長したうえで、失敗時には 1 秒・2 秒の間隔を空けて最大 3 回まで自動でリトライするようにしました。一時的な通信不調はユーザーが気付かないうちに吸収されます。
決済自体の挙動は変わりません。実際に決済が完了するまで Apple からは確認画面で都度承認を求められます。