サブスクリプションの請求期間より長いリトライスケジュール

あるインボイスに対してリトライされた支払いがすべて失敗すると、設定で選択されたサブスクリプションのステータスに基づくアクションに応じて、関連のあるサブスクリプションはキャンセルまたは未払いとしてマークされます。この動作は、リトライスケジュールが長い場合に影響を受ける可能性があります。

リトライスケジュールが長く、サブスクリプションの請求期間を超えるような場合、複数のインボイスのリトライスケジュールが重なる可能性があります。まれなケースですが、1 つのインボイスに対して行われたリトライがすべて失敗しても、同じサブスクリプションの一部である最新のインボイスへの支払いが成功した場合、そのサブスクリプションはそのまま残され、キャンセルされたり未払いとしてマークされたりしません。

ここでは例として、請求期間が 1 カ月で、リトライスケジュールが 2 カ月に設定されたサブスクリプションを挙げます。次のような一連のイベントが発生すると仮定します。

上記のケースでは、in_1 のリトライスケジュールが in_2 のリトライスケジュールと重なっているため、in_1 に対するリトライがすべて完了する前に in_2 インボイスへの支払いが成功する可能性があります。その場合も in_1 に対するリトライは依然として失敗する可能性があり、このケースではすべて失敗しています。この場合、支払いの成功にずれがあるため、サブスクリプションのステータスは変更されません。たとえば、サブスクリプションのステータスに基づくアクションが「サブスクリプションをキャンセル」に設定されていても、サブスクリプションはキャンセルされません。「サブスクリプションを未払いとしてマーク」に設定されている場合でも、サブスクリプションは未払いとしてマークされません。

前述のように、支払いステータスが意味を持つのは、最新のインボイスだけです。ここでは例として、請求期間が 1 週間で、リトライスケジュールが 1 カ月に設定されたサブスクリプションを挙げます。次のような一連のイベントが発生します。

このケースでは、1 月 15 日に in_1 に対する最後のリトライが失敗した後、サブスクリプションのステータスは変更されます。最新のインボイスが in_3 であり、その支払いが完了していないため、in_2 のステータスは意味を持ちません。たとえば、サブスクリプションのステータスに基づくアクションが「サブスクリプションをキャンセル」に設定されている場合、サブスクリプションは 1 月 15 日にキャンセルされます。「サブスクリプションを未払いとしてマーク」に設定されている場合、サブスクリプションは 1 月 15 日に未払いとしてマークされます。

次のインボイスが支払われた後で前のインボイスの支払いがリトライされないようにするには、リトライ期間を請求間隔と同じか、それより短い期間に設定します。たとえば、月次サブスクリプションでは、リトライ期間を 1 カ月以内にすれば、リトライスケジュールの重複を回避できます。