サブスクリプションをキャンセル
既存のサブスクリプションをキャンセルする方法は以下のとおりです。
このガイドでは、サブスクリプション API または ダッシュボード を使用して、顧客の購読を管理する方法について説明します。
サブスクリプションを有効なままにしながら、支払いの回収を一時的に停止する場合は、支払いの回収を一時停止できます。支払いの回収を一時停止しても、サブスクリプションのステータス には影響しません。一時停止は、顧客へのサービスを開始または停止するトリガーとして使用することをおすすめします。
サブスクリプションは、顧客への請求が最大 8 回失敗した後で自動的にキャンセルされます。試行回数はサブスクリプションのライフサイクル設定で指定できます。Smart Retriesや設定可能な顧客へのメールなどの売上回収の詳細は、ガイドをご覧ください。
サブスクリプションをキャンセルする
顧客のサブスクリプションは、API または ダッシュボード で手動でキャンセルすることができます。デフォルトでは、キャンセルは直ちに有効となり、キャンセルされたサブスクリプションに対して請求書は発行されなくなります。キャンセルされると、サブスクリプションやそのメタデータは更新できなくなります。
よくある間違い
カスタムのキャンセル日を設定している場合は、返金を行うことができません。クレジットの日割り計算は必ず生成されます。クレジットの日割り計算が生成されないようにするには、カスタムのキャンセル日が現在の請求期間内であること、および proration_
が none
に設定されていることを確認してください。
従量課金の比例配分
サブスクリプションの支払い済み請求期間の途中である場合、prorate パラメーターを渡して、キャンセルを日割り計算できます。
キャンセルを日割り計算する場合、オプションで以下に対する請求を行うことができます。
- 未払いの比例配分の部分
- 従量課金
サブスクリプションを日割り計算しない場合、使用量に基づく請求はすべて破棄され、発生する可能性のある日割り計算額は顧客に返金されません。
invoice_now パラメーターを使用して、最終請求書を作成できます。キャンセル後に顧客にクレジットを支払う必要がある場合は、そのクレジットを顧客のクレジット残高に追加し、将来の請求書に適用することができます。顧客に返金する には、返金 を発行し、アカウント残高 をゼロに戻す必要があります。
現在の請求サイクルの終了時にキャンセルする
現在の請求期間の終了時にサブスクリプションをキャンセルするには、cancel_
を true
に設定します。
これにより、顧客がすでに支払い済みの期間をサブスクリプションで完了できます。 cancel_
を false
に更新することで、キャンセルが予定されているサブスクリプションを再び有効にできます。期間が終了するまでは、いつでもサブスクリプションを再有効化できます。
予定された変更または将来の請求サイクル後にキャンセルする
指定された課金サイクル回数の後でサブスクリプションが終了するようにス設定するには、サブスクリプションスケジュールを作成します。1 つ以上のフェーズと期間を指定してスケジュールの長さを設定し、end_behavior 属性を cancel
に設定します。
終了動作が cancel
の場合、サブスクリプションスケジュールはサブスクリプションの cancel_at 属性を自動的に管理します。スケジュールが最後のフェーズにある場合、サブスクリプションのキャンセル日はフェーズの終了日に設定されます。それ以外の場合、サブスクリプションにキャンセル日は設定されません。
その結果、現在最終フェーズにあるスケジュールに新しいフェーズを追加すると、キャンセル日が削除されます。キャンセル日を延長または削除するときにサブスクリプションが最後の請求期間にある場合、期間終了と請求サイクルの起点が更新される可能性があります。詳細については、カスタムキャンセル日を設定する方法をご覧ください。
不審請求の申請後の自動キャンセルを設定する
限定的なサポート
この機能がサポートされる対象は、「full amount」で不審請求が申請されたクレジットカードとデビットカードの支払いのみです。
顧客がサブスクリプションの料金に対して 不審請求を申請 した場合、サブスクリプションは継続され、さらに不審請求が申請された料金が発生します。ダッシュボード でこの動作を変更し、サブスクリプションをキャンセルできます。サブスクリプションに対する変更は、約 1 時間後に有効になります。
不審請求が申請された支払いの管理 で、以下のいずれかを選択します。
日割り計算せずに、サブスクリプションを直ちにキャンセル: サブスクリプションは日割り計算なしですぐにキャンセルされます。キャンセルされたサブスクリプションを再開することはできません。顧客への請求を続行する場合は、新しいサブスクリプションを作成する必要があります。
期間の終了時にサブスクリプションをキャンセル: サブスクリプションは現在の請求期間の終了時にキャンセルされ、cancel_at_period_end は
true
に設定されます。これにより、キャンセルが発生する前に不審請求の申請プロセスを実行することができます。
スケジュールで管理されているサブスクリプションは、最初にスケジュール設定が解除され、それからキャンセルされます。予定された残りの変更は実施されません。
サブスクリプションのキャンセル時に請求書アイテムを処理する
以下の場合には、サブスクリプションの保留中の請求書アイテム が顧客に請求されることがあります。
- サブスクリプションのキャンセルには最終請求書が含まれます
- 顧客に別の有効なサブスクリプションが存在します
保留中の請求書アイテムについて顧客に請求しないようにするには、請求書アイテムを手動で削除 する必要があります。
同様に、請求期間中に報告された使用量 はすべて、期間の終了時に請求されます。使用量に対する最終の請求を避けるには、clear_usage パラメーターを使用してサブスクリプションを更新 し、従量料金を削除します。
期間の終了時にサブスクリプションをキャンセルするように設定した場合、保留中の比例配分はそのまま残り、期間の終了時に引き続き回収されます。期間が終了する前にサブスクリプションをキャンセルした場合、請求書アイテムは残り、お客様がこの請求書アイテムを含めた請求書を特別に作成しない限り処理されません。
サブスクリプションをキャンセルすると、そのサブスクリプションの open
と draft
になっている請求書の auto_
プロパティは、すべて false
に設定されます。これにより、これらの請求書の 自動回収が一時停止 され、自動リマインダーメールが送信されなくなります。引き続き、手動で支払いの回収とメールの送信を行うことは可能です。
キャンセルイベントを識別する
Stripe は、キャンセルされたサブスクリプションに対して以下のイベントを送信します。
イベント | 説明 |
---|---|
customer. | 顧客のサブスクリプションをすぐにキャンセルすると送信されます。イベントの request プロパティが null でない場合は、キャンセルがサブスクリプションの設定ではなく、お客様のリクエストの結果であることを示します。 |
customer. | 請求期間の終了時に顧客のサブスクリプションをキャンセルした場合に送信されます。これは、cancel_ を true に設定し、イベントでサブスクリプションの cancel_ 値の変更が反映されたときにトリガーされます。 |
キャンセルの予定を取り消す
サブスクリプション API を更新 または ダッシュボード でキャンセルの予定を停止できます。キャンセルされたサブスクリプションを再び有効にすることはできません。
カスタムのキャンセル日を設定する
サブスクリプションを将来のタイムスタンプにキャンセルするには、cancel_at パラメーターを使用します。
請求期間の終了前にキャンセル日をスケジュールすると、サブスクリプションの current_period_end が cancel_
の日付と一致するように更新されます。これにより、更新によって無効 にならない限り、現在の期間の変更に対応した日割り計算が作成されます。
キャンセル日を 1 期間以上先に設定した場合、サブスクリプションが cancel_
の日付を含む期間に更新されるまで、サブスクリプションのサイクルに影響はありません。その後、新しい current_
は cancel_
の日付と一致するように短縮されます。
たとえば、顧客が 2024 年 1 月 1 日に更新される年額 120 USD のライセンス制サブスクリプションに登録しているとします。顧客はサブスクリプションを 2024 年 7 月 1 日にキャンセルするように設定しました。この場合、1 月 1 日の最終請求書の小計は 60 USD として計算され、current_
は 7 月 1 日になります。
現在の期間内に予定が設定されたキャンセル日を変更、追加、または削除すると、current_
が更新されて、日割り計算が作成されます。上記の例で 2 月 15 日に更新を行い、キャンセル日を 10 月 1 日にしたとします。現在の期間の終了は 10 月 1 日になり、30 USD が追加の四半期の日割り計算として作成されます。10 月 1 日の最終請求書ではなく、日割り計算されたアイテムを直ちに請求したい場合は、更新時に proration_behavior を always_
に設定するか、別途 1 回限りの請求書を作成します。
サブスクリプションの請求サイクルの起点プロパティは、前回のキャンセル日を追跡していた場合は変更される可能性があります。最初の期間中、Stripe はサブスクリプションに最初に設定した起点を保持します。最初の期間が終了すると、またはサブスクリプションの作成時にカスタム起点を指定しなかった場合は、その起点は現在の期間の開始にリセットされます。
キャンセル日を追加するか、既存のキャンセル日を現在の時刻に近づけると、請求サイクルの起点が短縮され、新しいキャンセル日と一致するようになります。上記の例では、2 月 15 日にキャンセル日を 4 月 1 日に更新します。期間終了と請求起点は 4 月 1 日になり、Stripe は 4 月 1 日から 7 月 1 日までの未使用の期間に対して -30 USD の比例配分を行い、顧客に入金します。