サブスクリプション請求の更新日を設定する
サブスクリプションの請求日を設定する方法をご紹介します。
サブスクリプションの請求期間は、次の 2 つの要因により決定されます。
- 単一の料金または複数の料金の継続期間 (月次、年次、週次など)。
- 請求サイクルのアンカーは、今後の請求期間の日付を調整するための参照点です。
weekの期間には曜日、monthとyearの期間には日、yearの期間には月が設定されます。デフォルト値は、サブスクリプションの作成日またはトライアルの終了日 (トライアル期間を使用している場合) です。また、サブスクリプションの作成時にこの値を明示的に設定することもできます。
メモ
請求サイクルアンカーは、現在のエポックからの秒単位の Unix タイムスタンプです。
以下に、さまざまな請求期間が設定された月次サブスクリプションの例を示します。
- 請求サイクルの起点の日付が 9 月 2 日の月次サブスクリプションの場合、常に毎月 2 日に請求されます。
- 請求サイクルの起点の日付が 1 月 31 日の月次サブスクリプションの場合、請求日は起点の日付に最も近いその月の最終日になります。したがって、請求日は 2 月 28 日 (うるう年の場合は 2 月 29 日)、3 月 31 日、4 月 30 日というようになります。
- 請求サイクルの起点の日付が 6 月 3 日 (金) の週次サブスクリプションの場合、翌週から毎週金曜日に請求されます。
完全な請求期間は、全額が請求される最初の請求書の日付に開始されます。多くの場合、その日付は請求サイクルの起点と同じであり、必ずこれに合わせて期間が調整されます。
新しいサブスクリプションの請求サイクルの起点を指定する
メモ
サブスクリプションの作成時刻は、リクエストの時刻と一致します。サブスクリプションの開始日とは異なります。詳細は遡及適用と請求サイクルの起点をご覧ください。
新しいサブスクリプションの請求サイクルの起点を指定する方法として、以下の 2 つがあります。
billing_を使用して、タイムスタンプを計算する (月次または年次のサブスクリプションのみ).cycle_ anchor_ config billing_を使用して、タイムスタンプを直接受け付ける。cycle_ anchor
月次または年次のサブスクリプションを作成している場合、短い月とうるう年が自動的に考慮される billing_ パラメーターの使用をお勧めします。日次または週次のサブスクリプションを作成している場合、またはタイムスタンプを使用してサブスクリプションの更新日を設定したい場合、billing_ パラメーターを直接使用します。
billing_cycle_anchor_config を使用する
月次と年次のサブスクリプションを組み合わせて作成する場合は、サブスクリプションの作成の billing_ を使用して、起点となる日付を指定します。
day_ を 31 に設定すると、日数が 31 日未満の月であっても月末に更新される月次サブスクリプションを作成できます。日数が 31 日未満の月には、その月の最終日にサブスクリプションが更新されます。
month を指定して、複数月および年次のサブスクリプションで起点となる月を管理することもできます。
年次サブスクリプションの開始を 7 月 1 日とするには、month を 7、day_ を 1 に指定して年次サブスクリプションを作成します。
billing_ を使用して請求サイクルの起点の正確な月、日、時、分、秒を指定できます。時、分、秒を指定しない場合、デフォルトはサブスクリプションの作成時刻の値になります。
請求サイクルの起点には協定世界時 (UTC) が用いられています。たとえば、時間を指定せずに午後 5 時 (東部標準時) に billing_ を使用してサブスクリプションを作成した場合、時刻は午後 10 時 (UTC) としてシステムに記録されます。
billing_ は、遡及的な開始日による固定をサポートしていません。
たとえば、既存の月次サブスクリプションにおいて、日、時、分、秒 として 15、12、30、0 を含む billing_ タイムスタンプが指定されている場合、新しい月次サブスクリプションをこれに合わせることができます。そのためには、day_、hour、minute、second を既存のサブスクリプションと同じ値に設定します。
billing_ を使用すると、結果的に billing_ が将来の 1 請求期間を超える場合がありますが、全額が請求される最初の請求書の日付は常に、サブスクリプションの作成または無料トライアルの終了から 1 請求期間以内になります。
たとえば、請求期間が 2 カ月のサブスクリプションを 2 月に作成し、day_ を 31 に設定して請求サイクルを各月の最終日にするとします。2 カ月の請求期間を 2 月に開始した場合、31 日がある次の月は 8 月であるため、請求サイクルの起点は 8 月 31 日となります。ただし、全額が請求される最初の請求書の日付は、2 月のままです。サブスクリプションの作成から 2 月 28 日 (うるう年の場合は 29 日) までは最初の比例配分の期間であり、その後に通常の 2 カ月ごとの請求サイクルが開始されます。
billing_cycle_anchor を使用する
Subscriptions API または Checkout を使用して、明示的な請求サイクルの起点を指定したサブスクリプションを作成できます。
既存サブスクリプションの請求期間変更
Subscriptions API またはダッシュボードを使用し、既存のサブスクリプションの請求日を以下のいずれかのオプションの中から変更します。
- 請求サイクルの起点を現在時刻にリセットします。
- 無料トライアルを追加して、起点の日付がトライアルの終了日に自動的に設定されるようにします。トライアルは通常、サブスクリプションの作成時に開始しますが、既存のサブスクリプションに適用することもできます。これにより、顧客がすでに支払った前のサイクルの残り日数分について顧客にクレジットすることができます。
請求サイクルの日付は、このようなシナリオで変わります。ただし、billing_ を指定してサブスクリプションを作成または更新した場合、請求サイクルの起点は変更されません。詳しくは、柔軟な請求モードの設定とその制限事項をご覧ください。
- すべての価格がゼロ金額の場合、1 つ以上の有料価格を追加すると、請求期間が即座にリセットされます。詳細については、サブスクリプション価格の変更ガイド をご覧ください。
billing_が cancel_at の日付にリセットされるのは、cycle_ anchor cancel_を次にサブスクリプションが更新される前の日付に設定してサブスクリプションを作成するか、at billing_が新しいcycle_ anchor cancel_日付よりも将来の日付に設定されているサブスクリプションで既存のat cancel_の日付を変更する場合です。at - 異なる recurring.interval の料金に切り替えると、
billing_が現在の時刻にリセットされます。cycle_ anchor
請求期間を現在時刻にリセットする
請求サイクルの起点を現在時刻にリセットするには、billing_ を now に設定して更新リクエストを実行します。これにより、請求サイクルの起点が更新リクエストの時刻に設定されます。請求サイクルの起点をリセットすると、Stripe は直ちに請求書を送信します。前の期間に既に支払った日数分を顧客にクレジットできるよう、比例配分を有効にしてください。比例配分を無効にすると、顧客に過剰な請求をする可能性があります。
トライアル期間を使用した請求期間の変更
無料トライアルを利用して、請求サイクルの起点日を自動的に trial_ 日に設定することで請求サイクルの起点を変更できます。
例えば、顧客が 7 月 23 日に次回請求予定のアクティブなサブスクリプションを持っており、7 月 15 日に 8 月 1 日終了のトライアル期間を導入したとします。
- 顧客は 7 月 15 日に 0 USD の請求書を受け取ります。顧客は前回のサイクルで 7 月 23 日まで既に支払い済みのため、「無料」期間は 7 月 24 日から 7 月 31 日までのみ適用されます。
- 顧客は 7 月 23 日には請求されません。
- 8 月 1 日に請求される新しいサイクルは通常料金での完全なサイクルとなり、その後は毎月 1 日に継続されます。
オプションで、proration_ を使用して、トライアルを開始するようにサブスクリプションを更新するときに比例配分を適用しないようにできます。ほとんどの場合、比例配分請求書を発行せずに請求期間を変更するためにトライアル期間を使用している場合は、比例配分を無効にします。これは、トライアル期間の長さが、以前の請求期間からすでに決済された部分を占めるためです。
従量課金ベース
従量課金を使用すると、請求期間中の使用量に応じて顧客が支払う価格が変動します。請求期間を変えると、サブスクリプションのサービス期間の終了が早まり、短縮された請求期間中に発生した使用量に対して顧客に請求することになります。
しきい値
通常のサイクルに加えて、請求金額がしきい値に達したときに請求するようにサブスクリプションを設定できます。
この方法で請求するようにサブスクリプションを設定している場合、しきい値に達したときにサブスクリプションのサービス期間をリセットするように設定できます。