# サブスクリプションをキャンセル 既存のサブスクリプションをキャンセルする方法は以下のとおりです。 また、Stripe がオンラインで提供する [カスタマーポータルのキャンセルページ](https://docs.stripe.com/customer-management/cancellation-page.md) を使用して、顧客はサブスクリプション、請求書、請求先情報を管理することもできます。 このガイドでは、[サブスクリプション API](https://docs.stripe.com/api.md#cancel_subscription) または [ダッシュボード](https://dashboard.stripe.com/test/subscriptions) を使用して、顧客の購読を管理する方法について説明します。 サブスクリプションを有効なままにしながら、支払いの回収を一時的に停止する場合は、[支払いの回収を一時停止](https://docs.stripe.com/billing/subscriptions/pause-payment.md)できます。支払いの回収を一時停止しても、[サブスクリプションのステータス](https://docs.stripe.com/billing/subscriptions/overview.md#subscription-statuses) には影響しません。一時停止は、顧客へのサービスを開始または停止するトリガーとして使用することをおすすめします。 顧客への請求が最大 8 回失敗すると、*サブスクリプション* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis) は自動的にキャンセルされます。ダッシュボードの[サブスクリプション設定](https://dashboard.stripe.com/settings/billing/automatic)で試行回数を設定できます。[Smart Retries](https://docs.stripe.com/billing/revenue-recovery/smart-retries.md#smart-retries) や設定可能な[顧客メール](https://docs.stripe.com/billing/revenue-recovery/customer-emails.md#configure-emails)など、売上回収設定の詳細をご確認ください。 ## サブスクリプションをキャンセルする 顧客のサブスクリプションは、[API](https://docs.stripe.com/api/subscriptions/cancel.md) または [ダッシュボード](https://dashboard.stripe.com/test/subscriptions) で手動でキャンセルすることができます。デフォルトでは、キャンセルは直ちに有効となり、キャンセルされたサブスクリプションに対して*請求書* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice)は発行されなくなります。キャンセルされると、サブスクリプションやその[メタデータ](https://docs.stripe.com/metadata.md)は更新できなくなります。 > カスタムのキャンセル日を設定している場合は、返金を行うことができません。クレジットの日割り計算は必ず生成されます。クレジットの日割り計算が生成されないようにするには、カスタムのキャンセル日が現在の請求期間内であること、および `proration_behavior` が `none` に設定されていることを確認してください。 #### ダッシュボード ダッシュボードを使用してサブスクリプションをキャンセルするには、以下を実行してください。 1. [サブスクリプション](https://dashboard.stripe.com/test/subscriptions)ページで、オーバーフローメニュー (⋯) をクリックし、**サブスクリプションをキャンセル**を選択します。 1. サブスクリプションをいつ終了するかを選択します (即時、期間の終了時、またはカスタムの日付)。 1. [日割り計算](https://docs.stripe.com/billing/subscriptions/prorations.md) の金額を返金するか、前回の支払いを全額返金するか、[返金](https://docs.stripe.com/refunds.md) を行わないかを選択します。 1. すべての設定が確定したら、**サブスクリプションをキャンセル**をクリックします。 #### API APIを使用してサブスクリプションをキャンセルするには、以下を実行してください。 ```curl curl -X DELETE https://api.stripe.com/v1/subscriptions/{{SUBSCRIPTION_ID}} \ -u "<>:" ``` ### 従量課金の比例配分 サブスクリプションの支払い済み請求期間の途中である場合、[prorate](https://docs.stripe.com/api/subscriptions/cancel.md#cancel_subscription-prorate) パラメーターを渡して、キャンセルを日割り計算できます。 キャンセルを日割り計算する場合、オプションで以下に対する請求を行うことができます。 - 未払いの比例配分の部分 - [従量課金](https://docs.stripe.com/products-prices/pricing-models.md#usage-based-pricing) サブスクリプションを日割り計算しない場合、使用量に基づく請求はすべて破棄され、発生する可能性のある日割り計算額は顧客に返金されません。 [invoice_now](https://docs.stripe.com/api/subscriptions/cancel.md#cancel_subscription-invoice_now) パラメーターを使用して、最終請求書を作成できます。キャンセル後に顧客にクレジットを支払う必要がある場合は、そのクレジットを顧客のクレジット残高に追加し、将来の請求書に適用することができます。[顧客に返金する](https://support.stripe.com/questions/refunding-credit-balance-to-customer-after-subscription-downgrade-or-cancellation) には、[返金](https://docs.stripe.com/refunds.md#issuing) を発行し、[アカウント残高](https://docs.stripe.com/billing/customer/balance.md#modifying) をゼロに戻す必要があります。 ### 現在の請求期間の終了時にキャンセルする 現在の請求期間の終了時にサブスクリプションをキャンセルするには、`cancel_at_period_end` を `true` に設定します。 ```curl curl https://api.stripe.com/v1/subscriptions/{{SUBSCRIPTION_ID}} \ -u "<>:" \ -d cancel_at_period_end=true ``` これにより、顧客がすでに支払い済みの期間をサブスクリプションで完了できます。 `cancel_at_period_end` を `false` に更新することで、キャンセルが予定されているサブスクリプションを再び有効にできます。期間が終了するまでは、いつでもサブスクリプションを再有効化できます。 ### 予定されている変更または将来の請求期間の後にキャンセルする 指定された請求期間回数の後でサブスクリプションが終了するように設定するには、[サブスクリプションスケジュールを作成](https://docs.stripe.com/billing/subscriptions/subscription-schedules.md)します。1 つ以上のフェーズと期間を指定してスケジュールの長さを設定し、その [end_behavior](https://docs.stripe.com/api/subscription_schedules/create.md#create_subscription_schedule-end_behavior) 属性を `cancel` に設定します。 終了動作が `cancel` の場合、サブスクリプションスケジュールはサブスクリプションの [cancel_at](https://docs.stripe.com/billing/subscriptions/cancel.md#custom-cancel-date) 属性を自動的に管理します。スケジュールが最後のフェーズにある場合、サブスクリプションのキャンセル日はフェーズの終了日に設定されます。それ以外の場合、サブスクリプションにキャンセル日は設定されません。 その結果、現在最終フェーズにあるスケジュールに新しいフェーズを追加すると、キャンセル日が削除されます。キャンセル日を延長または削除するときにサブスクリプションが最後の請求期間にある場合、期間終了と請求サイクルの起点が更新される可能性があります。詳細については、[カスタムキャンセル日を設定する](https://docs.stripe.com/billing/subscriptions/cancel.md#custom-cancel-date)方法をご覧ください。 ### 不審請求の申請後の自動キャンセルを設定する > #### 限定的なサポート > > この機能がサポートされる対象は、「全額」不審請求が申し立てられたクレジットカードとデビットカードの支払いのみです。自動キャンセルの遅延は、[テストクロック](https://docs.stripe.com/billing/testing/test-clocks/simulate-subscriptions.md)に対応していません。 顧客がサブスクリプションの料金に対して [不審請求を申請](https://docs.stripe.com/disputes.md) した場合、サブスクリプションは継続され、さらに不審請求が申請された料金が発生します。[ダッシュボード](https://dashboard.stripe.com/settings/billing/automatic) でこの動作を変更し、サブスクリプションをキャンセルできます。サブスクリプションに対する変更は、約 1 時間後に有効になります。 [不審請求が申請された支払いの管理](https://dashboard.stripe.com/settings/billing/automatic) で、以下のいずれかを選択します。 - **日割り計算せずに、サブスクリプションを直ちにキャンセル**: サブスクリプションは日割り計算なしですぐにキャンセルされます。キャンセルされたサブスクリプションを再開することはできません。顧客への請求を続行する場合は、新しいサブスクリプションを作成する必要があります。 - **期間の終了時にサブスクリプションをキャンセル**: サブスクリプションは現在の請求期間の終了時にキャンセルされ、[cancel_at_period_end](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-cancel_at_period_end) は `true` に設定されます。これにより、キャンセルが発生する前に不審請求の申請プロセスを実行することができます。 [スケジュール](https://docs.stripe.com/billing/subscriptions/subscription-schedules.md)で管理されているサブスクリプションは、最初にスケジュール設定が解除され、それからキャンセルされます。予定された残りの変更は実施されません。 ## サブスクリプションのキャンセル時に請求書アイテムを処理する 以下の場合には、サブスクリプションの保留中の[請求書アイテム](https://docs.stripe.com/billing/invoices/subscription.md#adding-draft-invoice-items) が顧客に請求されることがあります。 - サブスクリプションのキャンセルには最終請求書が含まれます - 顧客に別の有効なサブスクリプションが存在します 保留中の請求書アイテムについて顧客に請求しないようにするには、請求書アイテムを[手動で削除](https://docs.stripe.com/api.md#delete_invoiceitem) する必要があります。 同様に、請求期間中に報告された[使用量](https://docs.stripe.com/billing/subscriptions/usage-based/recording-usage.md) はすべて、期間の終了時に請求されます。使用量に対する最終の請求を避けるには、[clear_usage](https://docs.stripe.com/api.md#update_subscription-items-clear_usage) パラメーターを使用して[サブスクリプションを更新](https://docs.stripe.com/api.md#update_subscription) し、従量料金を削除します。 期間の終了時にサブスクリプションをキャンセルするように設定した場合、保留中の比例配分はそのまま残り、期間の終了時に引き続き回収されます。期間が終了する前にサブスクリプションをキャンセルした場合、請求書アイテムは残り、お客様がこの請求書アイテムを含めた請求書を特別に作成しない限り処理されません。 サブスクリプションをキャンセルすると、そのサブスクリプションの `open` と `draft` になっている請求書の `auto_advance` プロパティは、すべて `false` に設定されます。これにより、これらの請求書の [自動回収が一時停止](https://docs.stripe.com/invoicing/integration/automatic-advancement-collection.md) され、自動リマインダーメールが送信されなくなります。引き続き、手動で支払いの回収とメールの送信を行うことは可能です。 ## キャンセルイベントを識別する Stripe は、キャンセルされたサブスクリプションに対して以下のイベントを送信します。 | イベント | 説明 | | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `customer.subscription.updated` | `cancel_at_period_end` が `true` に設定されている場合など、サブスクリプションの更新に対して送信されます。 | | `customer.subscription.deleted` | サブスクリプションがキャンセルされたときに送信されます。キャンセルは、サブスクリプションを削除するための直接のコールによって発生するか、`cancel_at_period_end: true` が指定されているサブスクリプションが請求期間の終了に達したときに発生します。 | ## キャンセルの予定を取り消す [サブスクリプション API を更新](https://docs.stripe.com/api/subscriptions/update.md) または [ダッシュボード](https://dashboard.stripe.com/test/subscriptions) でキャンセルの予定を停止できます。キャンセルされたサブスクリプションを再び有効にすることはできません。 #### ダッシュボード ダッシュボードでキャンセルの予定を停止するには、以下を実行します。 1. [サブスクリプションページ](https://dashboard.stripe.com/test/subscriptions) で、更新するサブスクリプションを選択します。 1. サブスクリプションの詳細ページで **Actions** をクリックし、次に**キャンセルしない**を選択します。 #### API API を使用してキャンセルの予定を停止するには、`cancel_at_period_end` を `false` に設定します。このアクションは、請求期間が終了していないサブスクリプションにのみ影響します。 ```curl curl https://api.stripe.com/v1/subscriptions/{{SUBSCRIPTION_ID}} \ -u "<>:" \ -d cancel_at_period_end=false ``` > [2018-02-28](https://docs.stripe.com/upgrades.md#2018-02-28) より以前のバージョンは、[サブスクリプションの更新](https://docs.stripe.com/api/subscriptions/update.md) に「いずれかの」パラメーターが送信されると、自動的にサブスクリプションのキャンセルの予定が取り消されます。 ## カスタムのキャンセル日を設定する サブスクリプションを将来のタイムスタンプにキャンセルするには、[cancel_at](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-cancel_at) パラメーターを使用します。 ```curl curl https://api.stripe.com/v1/subscriptions/{{SUBSCRIPTION_ID}} \ -u "<>:" \ -d cancel_at=1723766400 ``` 請求期間が終了する前にキャンセル日をスケジュールすると、サブスクリプション項目の [current_period_end](https://docs.stripe.com/api/subscription_item/object.md#subscription_item_object-current_period_end) が `cancel_at` の日付と一致するように更新されます。これにより、更新によって比例配分が[無効化](https://docs.stripe.com/billing/subscriptions/prorations.md#disable-prorations)されない限り、現在の期間の変更に対して比例配分が作成されます。 `status=trialing` の `billing_mode=flexible` サブスクリプションでは、`cancel_at` 値を追加、更新、削除しても [trial_end](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-trial_end) の日付には影響しません。 [billing_mode](https://docs.stripe.com/api/subscriptions/create.md?api-version=2025-04-30.preview#create_subscription-billing_mode) のサブスクリプションの場合、`cancel_at` パラメーターに列挙型ヘルパーを使用すると、請求期間終了時にサブスクリプションをキャンセルしやすくなります。`min_period_end` ヘルパーおよび `max_period_end` ヘルパーを使用すると、すべてのサブスクリプション項目の請求期間を基にサブスクリプションのキャンセル日を指定できます。 | イベント | 説明 | | ---------------- | --------------------------- | | `min_period_end` | 最も早く終了する請求期間のタイムスタンプを選択します。 | | `max_period_end` | 最後に終了する請求期間のタイムスタンプを選択します。 | これらのヘルパーはタイムスタンプを即座に処理するため、項目の `current_period_end` が後で変更されて処理済みのキャンセル日になるリスクが軽減されます。 キャンセル日を現在の請求期間後の日付に設定した場合、サブスクリプションが `cancel_at` 日を含む期間に更新されるまで、サブスクリプションサイクルは影響を受けません。更新される `items.current_period_end` は、`cancel_at` の日付に合わせて短縮されます。 たとえば、顧客が 2024 年 1 月 1 日を更新日とする年額 120 USD のライセンス型サブスクリプションに登録しているとします。顧客は、サブスクリプションを 2024 年 7 月 1 日にキャンセルするように設定しました。1 月 1 日の最終請求書の小計は 60 USD で計算され、`items.current_period_end` は 7 月 1 日になります。 現在の期間内に予定が設定されたキャンセル日を変更、追加、または削除すると、`items.current_period_end` が更新され、比例配分が作成されます。上記の例では、2 月 15 日にキャンセル日を 10 月 1 日に更新しています。現在の期間の終了日は 10 月 1 日になり、Stripe は追加の四半期の料金である 30 USD を比例配分します。10 月 1 日の最終請求書ではなく、比例配分された項目を直ちに請求するには、更新で `always_invoice` の [proration_behavior](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-proration_behavior) を渡すか、別途 [1 回限りの請求書を作成](https://docs.stripe.com/billing/invoices/subscription.md#generating-invoices)します。 ## 請求サイクルの起点のキャンセル サブスクリプションの [billing cycle anchor](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-billing_cycle_anchor) プロパティは、前回のキャンセル日を追跡していた場合に変更が生じる可能性があります。最初の期間中、Stripe はサブスクリプションに[最初に設定](https://docs.stripe.com/billing/subscriptions/billing-cycle.md#new-subscriptions)された起点日を保持します。最初の期間が終了した場合、あるいはサブスクリプションの作成時にカスタムの起点日を指定しなかった場合は、起点日が[現在の期間の開始日](https://docs.stripe.com/api/subscription_items/object.md#subscription_item_object-current_period_start)にリセットされます。この請求サイクルの起点のリセット動作は、2024 年 6 月以降に作成されたサブスクリプションでのみ保証されます。この日よりも前に作成されたサブスクリプションでは、キャンセル、削除、または延長の後も [billing cycle anchor](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-billing_cycle_anchor) プロパティが変更されず、従来の動作が続く可能性があります。 キャンセル日を追加するか、既存のキャンセル日を現在の時刻に近づけると、[請求サイクルの起点](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-billing_cycle_anchor)が短縮され、新しいキャンセル日と一致するようになります。上記の例では、2 月 15 日にキャンセル日を 4 月 1 日に更新します。期間終了と請求起点は 4 月 1 日になり、Stripe は 4 月 1 日から 7 月 1 日までの未使用の期間に対して -30 USD の比例配分を行い、顧客に入金します。 ## See also - [トライアル期間を利用する](https://docs.stripe.com/billing/subscriptions/trials.md) - [サブスクリプションの更新](https://docs.stripe.com/api.md#update_subscription) - [サブスクリプションのキャンセル](https://docs.stripe.com/api.md#cancel_subscription)