サブスクリプションをキャンセル
サブスクリプション API またはダッシュボードを使用して、顧客のサブスクリプションを手動でキャンセルできます。サブスクリプションを有効なままにしながら、支払いの回収を一時的に停止する場合は、支払いの回収を一時停止できます。支払いの回収を一時停止しても、サブスクリプションのステータスには影響しません。これは、顧客へのサービスを開始または停止するトリガーとして使用することをお勧めします。
サブスクリプションは、顧客への請求が最大 4 回失敗した後で自動的にキャンセルされます。これはサブスクリプションのライフサイクル設定で設定できます。Smart Retries や設定可能な顧客へのメールなどの売上回収の詳細については、ガイドをご覧ください。
サブスクリプションをキャンセルする
サブスクリプションは、ダッシュボードまたは API を使用してキャンセルできます。
デフォルトでは、キャンセルはただちに有効になります。サブスクリプションがキャンセルされると、そのサブスクリプションに対する以降のインボイスは生成されません。
一般的な誤り
カスタムキャンセル日を設定した場合、返金を行うことはできません。貸方の比例配分が必ず生成されます。カスタムキャンセル日が現在の請求期間以内で、proration_behavior
が none
に設定されている場合のみ、比例配分は生成「されません」。
従量課金の比例配分
サブスクリプションの支払い済み請求期間の途中である場合、prorate パラメーターを渡して、キャンセルで比例配分を行うことができます。
キャンセルで比例配分を行う際は、必要に応じて次に対する請求を行うことができます。
- 未払いの比例配分の部分
- 従量課金
サブスクリプションを比例配分しない場合、使用量に基づく請求はすべて破棄され、発生する可能性のある日割り計算額は顧客に返金「されません」。
ただちに最終インボイスを作成するには、invoice_now パラメーターを作成します。キャンセル後、顧客にクレジットが発生する可能性がありますが、これは顧客のクレジット残高に追加され、今後のインボイスに適用されます。顧客に返金するには、返金を発行し、次にアカウント残高をゼロに戻すように調整します。顧客の返金について、詳細は専用のサポートページをご覧ください。
現在の請求サイクルの終了時にキャンセルする
現在の請求期間 (すなわち、顧客がすでに支払い済みの期間) の終了時にサブスクリプションをキャンセルする場合、次のようにサブスクリプションの cancel_at_period_end
値を true
に更新します。
(cancel_at_period_end
パラメーターを使用して) サブスクリプションのキャンセルがスケジュールされている場合、cancel_at_period_end
を false
に更新することでサブスクリプションを再度有効にできます。期間が終了するまではいつでも、サブスクリプションを再度有効にできます。
将来の請求サイクルの終了時にキャンセルする
指定された請求サイクル回数の後でサブスクリプションが終了するように設定するには、スケジュールを定義します。1 つ以上のフェーズと期間を指定してスケジュールの長さを設定し、end_behavior
属性を cancel
に設定します。
不審請求の申請後の自動キャンセルを設定する
限定的なサポート
この機能がサポートされる対象は、「full amount」で不審請求が申請されたクレジットカードとデビットカードの支払いのみです。
顧客がサブスクリプションの支払いに対して不審請求を申請した際、サブスクリプションが引き続き繰り返され、さらに不審請求が作成される可能性があります。これを避けるため、Stripe ダッシュボードでこの動作を変更して、サブスクリプションをキャンセルすることができます。 不審請求が申請された支払いを管理するで、比例配分せずにサブスクリプションを即時キャンセルするまたは期間の終了時にサブスクリプションをキャンセルするを選択します。サブスクリプションの変更が有効になるまでに約 1 時間かかります。
即時キャンセルを選択した場合、サブスクリプションは比例配分なしですぐにキャンセルされます。キャンセルされたサブスクリプションは再開できないため、引き続き顧客に請求を行う場合は、新しいサブスクリプションを作成する必要があります。
期間終了時のキャンセルを選択すると、cancel_at_period_end が true
に設定され、サブスクリプションは現在の請求期間の終了時にキャンセルされます。この場合、キャンセルが実行されるまでに、不審請求の申請プロセスに対応する時間があります。
スケジュールで管理されているサブスクリプションは、最初にスケジュール設定が解除され、それからキャンセルされます。スケジュールされた残りの変更は実施されません。
サブスクリプションのキャンセル時にインボイスアイテムを処理する
サブスクリプションにお客様が作成した保留中のインボイスアイテムがある場合、キャンセルに最終的なインボイスが含まれるように設定されている場合や、顧客に有効な別のサブスクリプションがある場合は、顧客に請求されることがあります。これを回避するには、インボイスアイテムを手動で削除します。
同様に、請求期間中に記録された使用量は、期間の終了時に請求されます。使用量に対する最終の請求を避けるには、サブスクリプションを更新し、clear_usage パラメーターを使用して従量課金を削除します。
期間の終了時にサブスクリプションをキャンセルするように設定した場合、保留中の比例配分はそのまま残り、期間の終了時に引き続き回収されます。期間が終了する前にサブスクリプションをキャンセルした場合、インボイスアイテムは残り、お客様がこのインボイスアイテムを使用して特にインボイスを作成しない限り処理されません。
サブスクリプションをキャンセルすると、そのサブスクリプションのすべての open
および draft
インボイスの auto_advance
プロパティが false
に設定されます。これは、予期しない自動支払いの試行とリマインドメールを防ぐために行われます。この結果、これらのインボイスの自動回収が一時停止されます。ただし手動で支払いの回収を試行し、手動でメールを送信することはできます。
キャンセルイベントを識別する
Stripe は、顧客のサブスクリプションが即時キャンセルされたとき、customer.subscription.deleted
イベントを送信します。customer.subscription.deleted
イベントの request
プロパティが null
ではない場合、そのキャンセルは (サブスクリプション設定に基づく自動的なキャンセルではなく) お客様のリクエストによるものであることを示しています。
そうではなく、請求期間の終了時に (すなわち、cancel_at_period_end
を true
に設定することによって) サブスクリプションをキャンセルした場合、customer.subscription.updated
イベントが即時に起動されます。このイベントは、サブスクリプションの cancel_at_period_end
値を反映します。サブスクリプションが実際に期間の終了時にキャンセルされると、次に customer.subscription.deleted
イベントが発生します。
キャンセルの予定を取り消す
cancel_at_period_end
を true
に更新することでサブスクリプションがキャンセルされるようにスケジュール設定されており、請求期間の終了に達していない場合は、cancel_at_period_end
の値を false
に更新するとキャンセルを取り消すことができます。
注
バージョン 2018-02-28 より前は、Update Subscription API に「いずれかの」パラメーターが送信されると、自動的にサブスクリプションのキャンセルの予定が取り消されました。
また、ダッシュボードのサブスクリプションを再度有効化オプションを使用する方法でも、キャンセルの予定を取り消すことができます。
サブスクリプションがキャンセルされた後に再度有効化することはできません。