サブスクリプションを遡及適用する
サブスクリプションを遡及適用する方法をご紹介します。
サブスクリプションを遡及適用して、すでに経過した期間分を顧客に請求できます。Stripe に移行する際や、または記録保持のためによく使用されます。backdate_
フィールドは、サブスクリプションの遡及適用の開始日を指定します。また、必要に応じて経過した期間部分を顧客に請求したり、次回の請求日を設定したりすることもできます。
請求モードに関する考慮事項
API バージョン 2025-04-30 では、遡及適用の動作はサブスクリプションの billing_mode によって異なります。
billing_
を使用すると、遡及適用期間の日数で比例配分された単一の項目が作成されます。
billing_
を使用すると、遡及適用期間に発生する通常の請求サイクルごとに 1 つの項目が生成されます。これは通常の請求と同様に動作します。
注
請求書の項目がデフォルトの上限である 250 件を超える場合、遡及適用はサポートされません。
遡及適用およびユーザへの請求
サブスクリプションが作成される前に、ユーザーがお客様のサービスにアクセスできる場合、そのアクセスに対してユーザーに請求するとします。
これにより、遡及適用の開始日から現在までの期間の料金が記載された請求書が作成されます。
サブスクリプションに billing_
が指定されている場合、Stripe は、遡及適用開始日からの期間に基づき、遡及適用期間に対する単一の比例配分額を算出します。たとえば、毎月 1 日から始まる月次の請求サイクルがあり、backdate_
を (うるう年以外の) 2 月 15 日に設定した場合、Stripe は 2 月 15 日から 3 月 15 日までの 1 カ月を基に比例配分額を計算します。2 月は 28 日間あるため、2 月 15 日から 3 月 1 日までの 14 日間の比例配分額は、通常の月額料金のちょうど半分となります。
同様に、backdate_
を 1 月 15 日に設定した場合、Stripe は 1 月 15 日から 2 月 15 日までの 1 カ月を基準にして比例配分を計算します。この月の日数は 31 日であるため、1 月 15 日から 2 月 1 日までの 17 日間の比例配分額は、通常の月額料金の 31 分の 17 (約 0.548) となります。
また、遡及適用の開始日を基の開始日と見なして計算を表示することも可能です。その後、最初の請求期間の開始日が更新された開始日になります。
サブスクリプションに billing_
が設定されている場合、Stripe は遡及適用期間に発生した通常の請求サイクルごとに個別の項目を生成します。これにより、各サイクルは、その期間に Stripe から通常どおり請求されたものとして扱われます。
ユーザへの請求を行わない遡及適用
遡及適用された期間について顧客に請求せず、サブスクリプションを遡及適用することもできます。この方法は、Stripe に移行する場合に使用できます。そのためには、サブスクリプションの作成時に proration_
を渡します。この結果、start_
が backdate_
と同じ値に設定されますが、遡及適用された期間について顧客への請求は行われません。
遡及適用と請求サイクルアンカーの設定
backdate_
と billing_
を組み合わせてサブスクリプションに遡及適用し、請求サイクルアンカーを将来の日付に設定します。これにより、遡及適用された開始日と請求サイクルアンカーの間の比例配分されたアイテムが、次回の請求書に作成されます。これは、Stripe に移行中で、サブスクリプションの次の請求日を繰り越す一方で、経過した期間について顧客に請求する必要がある場合に使用できます。
たとえば、現在 10 月 15 日で、Stripe に移行中だと仮定します。9 月 1 日に開始したサブスクリプションがあり、次回の請求日は 11 月 1 日です。このサブスクリプションを移行するには、新しいサブスクリプションを作成し、backdate_
を 9 月 1 日に、billing_
を 11 月 1 日に設定します。
これにより、9 月 1 日から 11 月 1 日までの比例配分を適用した金額の請求書が即時に発行されます。また、サブスクリプションの start_
は 9 月 1 日に設定されます。Stripe は次の請求書を 11 月 1 日に発行します。

更新の遡及適用
定期購入の更新時に日割り計算の有効日を設定するには、proration_date パラメーターを使用します。サブスクリプション項目の現在の期間内で発生する整数の Unix タイムスタンプを渡します。サブスクリプションでサブスクリプションスケジュールが使用されている場合は、タイムスタンプがスケジュールの次のフェーズの開始日より前であることを確認してください。
過去のサブスクリプションの最初の期間のみ、現在の期間より前の proration_
を設定できます。この場合、proration_
は subscription[start_
(遡及適用の開始日) 以降にする必要があります。それ以外の場合、proration_
を current_
より前にすることはできません。