サブスクリプションでトライアル期間を使用する
トライアル期間を使用することで、有効なサブスクリプションに対する支払いを延期します。
サブスクリプションの作成時に次のように trial_
引数を指定することで、無料のトライアル期間を設けて顧客のサブスクリプションを開始できます。
trial_
パラメーターは、トライアルの正確な終了日時を示すタイムスタンプを受け取ります。サブスクリプションを作成する際、代わりに trial_period_days パラメーター (現時点からトライアル期間の日数を表す整数) を使用することもできます。トライアル期間は、730 日 (2 年) 以内で指定する必要があります。
トライアル期間付きのサブスクリプションを作成するときに、決済手段を追加する必要はありません。即時請求書は作成されますが、金額は 0 になり、請求書項目の説明には「無料トライアル」の文言が記載されます。
トライアルの終了時にサブスクリプションの status
が paused
でない場合、請求書が生成され、invoice.
イベント通知が送信されます。約 1 時間後に、Stripe はその請求書の請求を試行します。トライアルの終了時に顧客の新しい請求サイクルも開始されます。
トライアルを早期終了するには、Update Subscription (サブスクリプションの更新) API コールを実行して、trial_
値に新しいタイムスタンプを設定します。即時終了する場合は、次のように now を設定します。
Trials with usage-based billing 
You can use trial periods for subscriptions with usage-based billing. During the trial period, any usage accrued doesn’t count toward the total charged to the customer at the end of the billing cycle. After the trial period ends, the usage accrues and bills at the end of the next billing cycle.
Make sure your integration properly monitors and handles webhook events related to trial status changes. A few days before a trial ends and the subscription moves from trialing
to active
, you receive a customer.
event. When you receive this event, make sure you have a payment method on the customer account to bill them. Optionally, provide advance notification to the customer about the upcoming charge.
トライアルを請求サイクルアンカーと組み合わせる
API バージョン 2018-02-05 では、トライアルを billing_
と組み合わせることもできるようになりました。これにより、無料期間の後に日割り計算期間が続き、その後に固定の請求サイクルが開始されます。
たとえば、今日が 15 日で、顧客に無料の 7 日間のトライアルを (22 日まで) 提供し、翌月 1 日から通常の請求を開始するとします。この設定は、API でトライアルを billing_
と組み合わせることにより実行できます (現在ダッシュボードでは利用できません)。
この例では、顧客は 22 日に (翌月 1 日までの期間に対して)_「比例配分 (日割りおよび秒割り計算) を適用した」_金額の請求書を受け取ります。その後、翌月 1 日に全額を再度請求され、さらに翌々月 1 日に再度請求という形で続きます。
一時停止されたサブスクリプションの従量課金
サブスクリプションの一時停止中でも、サブスクリプションの価格に関連付けられたメーターイベントは送信できます。ただし、サブスクリプションを再開しても、請求書には一時停止中に送信されたメーターイベントは反映されません。今後の請求書には、再開日以降に発生したメーターイベントのみが反映されます。レガシーの使用レコードを使用している場合、サブスクリプションの一時停止中は新しい使用レコードを作成できません。
トライアル中だったサブスクリプションに新しいトライアルを追加する
trial_
を指定してサブスクリプションを更新するか、関連するサブスクリプションスケジュールを更新することで、トライアル中でないサブスクリプションに新しいトライアルを追加できます。サブスクリプションには phases.
を指定する必要があります。
前回のトライアル終了後に新しいトライアルを開始するサブスクリプションの場合はほとんど、trial_
フィールドは最初のトライアルの開始時に設定されたままになります。API バージョン 2025-04-30 では、billing_mode が flexible
に設定されたサブスクリプションの場合、trial_
には最新のトライアルの開始が反映されます。
トライアルのサブスクリプションを更新する
トライアル中のサブスクリプションは、通常どおり更新できます。トライアルで項目を billing_
または billing_
サブスクリプションに追加すると、これらの項目に対して金額 0 の請求書が生成されます。billing_
の場合、金額 0 の請求書には、以前に請求された項目が含まれることがあります。
トライアルを add_invoice_items と組み合わせる
サブスクリプションのトライアル期間は、1 回限りの価格および add_
と組み合わせることができます。これは、1 回限りの手数料またはアドオンを、トライアルの開始と同時に請求する場合に使用することが考えられます。この設定により、トライアルの開始時に、単一の項目の金額で請求書が即時発行されます。
トライアルとプロモーションのコンプライアンス要件
トライアルを提供する場合は、無料であるかどうかにかかわらず、カードネットワークの要件に準拠する必要があります。これには、無料トライアルを提供する場合や、最初の数カ月間は割引料金で顧客に請求し、その後自動的に通常レートを請求する場合などが含まれます。Stripe のトライアル機能を使用する際は、 次のように Stripe ダッシュボードでメッセージの設定を有効にして、要件を満たすようにすることができます。
ユーザーに支払いの成功を通知する場合、 Stripe はトライアルとキャンセルの URL に関する情報を自動的に通知に表示します。
これらの設定を使用しない場合でも、要件に準拠する義務があります。
顧客のメールアドレスが有効であれば、トライアルの終了 7 日前にリマインダーが送信されます。トライアル期間が 7 日より短い場合は、トライアルを開始するとすぐにリマインドメールが送信されます。トライアルが更新された場合は、リマインドメールが再送されます。
トライアル中に、トライアルのリマインダーとサブスクリプションの更新リマインダーの両方が有効な場合、顧客はトライアルの終了リマインダーのみを受信します。更新メールは、以降の請求期間に送信されます。
キャンセルに関するポリシーのリンクは、他のトライアル情報とともに顧客の領収書に表示される URL です。この情報は、すべてのカード支払いに含められます。トライアルの終了 7 日前に顧客に送信されるリマインドメールには、キャンセルの URL も含まれます。
明細書表記について、請求書に手動で statement descriptor (明細書表記) を設定する場合は、トライアルの説明が付加されないため、追加する必要があります。product statement descriptors (商品の明細書表記) を使用する場合は、トライアルの説明が自動的に付加されます。明細書表記が 10 文字より長い場合は、トライアルの説明が付加されても顧客に意味が通じることを確認してください。22 文字の制限があるため、10 文字目以降は * TRIAL OVER
で上書きされます。
明細書表記を手動で設定していない場合、または商品の明細書表記を使用している場合は、アカウントの明細書表記にトライアルの文字が追加されます。必要に応じて短い表記を設定して、トライアルの文字が正しく表示されるようにすることができます。
Stripe の機能を使用せずに要件を満たす方法
Stripe のトライアル機能を使用せずにトライアルやプロモーションを提供する場合にも、要件に準拠する必要があります。invoice.upcoming イベントをリッスンして、メール通知を送信する時期を決定できます。プロモーションが終了したことを示すテキストを明細書表記に追加するには、以下を実行します。
customer.
イベントをリッスンしますsubscription. updated - トライアルまたはプロモーションが終了したかどうかを確認します
- サブスクリプションの
latest_
の明細書表記を更新しますinvoice
最新の請求書は、作成後 1 時間以内の、下書きステータスである間に更新する必要があります。
支払い方法を収集せずに無料トライアルを作成する
セキュリティのヒント
支払い方法を指定せずに無料トライアルを開始すると、潜在的な顧客は商品やサービスの試用が簡単になりますが、スパム発信者が架空の顧客、使用量、サブスクリプションを多数作成できることにもなります。ここでの登録フローを慎重に検討して、たとえば、無料トライアルサブスクリプションの開始前に、顧客にユーザーアカウントの作成と CAPTCHA の完了を求めるなど、実際の顧客の利用を簡単にする一方で、スパムボットが悪用しにくくなるようにすることをお勧めします。
ダッシュボード、API、Checkout で決済情報を収集せずに、サブスクリプションの無料トライアルに顧客を登録することができます。サブスクリプションを作成する際、トライアル期間中に顧客が支払い方法を指定しなかった場合にサブスクリプションをキャンセルまたは一時停止するように指定できます。サブスクリプションをキャンセルまたは一時停止するには、サブスクリプションを作成または更新するときに trial_
パラメーターを設定します。
- サブスクリプションをキャンセル: 支払い方法が指定されずに無料トライアルのサブスクリプションが終了する場合、サブスクリプションが即時にキャンセルされます。将来、顧客が有料プランに登録する場合は、別のサブスクリプションを作成できます。利用可能な支払い方法がない状態でトライアルが終了した場合にサブスクリプションをキャンセルするには、
missing_
を設定します。payment_ method=cancel - サブスクリプションの一時停止: 支払い方法が指定されずに無料トライアルのサブスクリプションが終了する場合、サブスクリプションは一時停止され、再開されるまでサイクルは動きません。サブスクリプションが一時停止される場合は、(サブスクリプションの支払いの回収が一時停止される場合とは異なり) 請求書は生成されません。サブスクリプションが一時停止された後で顧客が支払い方法を追加した場合は、同じサブスクリプションを再開できます。サブスクリプションは無期限に一時停止したままにすることができます。利用可能な支払い方法がない状態でトライアルが終了した場合にサブスクリプションを一時停止するには、
missing_
を設定します。payment_ method=pause
また、支払い方法が存在しない場合は、トライアルの終了時に請求書に missing_
を設定します。請求書の確定時に支払い方法が指定されていない場合、サブスクリプションは past_
になります。
無料トライアルに関するメッセージの設定で、顧客の決済情報を収集するためのリマインドメールを設定します。
支払い方法が指定されない無料トライアルがキャンセルされるように設定する
顧客から決済情報を収集せずにサブスクリプションの無料トライアルを作成し、支払い方法が指定されないままトライアルが終了した場合にサブスクリプションがキャンセルされるように設定するには、ダッシュボード、API、または Checkout を使用します。
支払い方法が指定されない無料トライアルが一時停止されるように設定する
顧客から決済情報を収集せずにサブスクリプションの無料トライアルを作成し、支払い方法が指定されないままトライアルが終了した場合にサブスクリプションが一時停止されるように設定するには、ダッシュボード、API、または Checkout を使用します。
トライアルの終了前に顧客から決済の詳細を収集する
顧客のトライアルの期限が近づいたときにリマインダーメールを自動的に送信するようにサブスクリプションを設定します。トライアルを提供する際は、カードネットワークの要件に準拠する必要があります。詳しくはトライアルとプロモーションの法令遵守要件をご覧ください。
イベント
イベントは、無料トライアルが変更されるたびにトリガーされます。システムでイベントが適切に処理されていることを確認してください。たとえば、無料トライアルが終了する前に顧客にメールを送信することもできます。詳しくは、サブスクリプションイベントの処理をご覧ください。
次の表では、無料トライアル終了前、トライアルサブスクリプションを一時停止またはキャンセルする場合、およびサブスクリプションを再開して有効になった場合にトリガーされるイベントについて説明しています。
イベント | 説明 | ユースケース |
---|---|---|
customer. | サブスクリプションが終了すると送信されます。 | このイベントへの対応として商品へのアクセスの提供を停止します。支払い方法の指定がなく、サブスクリプションの missing_ の終了時の動作が cancel に設定されている場合は、無料トライアルが終了すると、サブスクリプションは canceled ステータスに移行し、このイベントを送信します。 |
customer. | サブスクリプションが一時停止されなくなったときに送信されます。このイベントを受け取ったら、サブスクリプションが一時停止されていたときに商品へのアクセスが取り消されていた場合には、商品へのアクセスを顧客に付与します。 | 一時停止されたサブスクリプションが再開されると、有効なサブスクリプションに変換されます。サブスクリプションを再開すると、請求書と対応する支払いインテントが生成される場合があります。この支払いが行われないと、サブスクリプションが paused ステータスから移行できません。 |
customer. | サブスクリプションが完全に一時停止されると送信されます。サブスクリプションが再開されるまで請求は発生しません。このイベントを受け取ったら、顧客が支払い方法を追加して、サブスクリプションが再開されるまで、商品への顧客のアクセスを取り消すことができます。 | このイベントへの対応として商品へのアクセスの提供を停止します。支払い方法の指定がなく、サブスクリプションの missing_ の終了時の動作が pause に設定されている場合は、無料トライアルが終了すると、サブスクリプションが paused ステータスに移行し、このイベントを送信します。この場合サブスクリプションは、明示的に再開されるまで paused のままになります。 |
customer. | トライアル期間終了の 3 日前に送信されます。トライアル期間が 3 日未満になると、このイベントがトリガーされます。 | トライアル期間終了の 3 日前に、顧客にメールを自動送信するように、サブスクリプションを設定します。 |
カスタマーポータルを使用して支払いを回収する
支払い方法を収集せずに顧客のサブスクリプションを作成した後、顧客を Billing カスタマーポータルにリダイレクトして、支払いの詳細を追加してもらうことができます。
まず、Billing カスタマーポータルを設定して、顧客がサブスクリプションを各自で管理できるようにします。
次に、顧客から請求先情報を収集します。
customer.
イベントをリッスンします。subscription. trial_ will_ end - サブスクリプションに default payment method (デフォルトの支払い方法) がない場合、Customer API を使用して購入者のメールアドレスを取得し、お客様のサイトへのリンクが記載されたメッセージを送信します。メールに顧客 ID を埋め込むと便利です (例:
https://example.
)。com?. . . &customer={{CUSTOMER_ ID}} - 顧客がサイトにアクセスしたら、前のステップの顧客 ID を使用してカスタマーポータルセッションを作成します。
- 顧客をカスタマーポータルにリダイレクトします。顧客はここで支払いの詳細を使用してサブスクリプションを更新できます。
顧客がカスタマーポータルでサブスクリプションを再有効化できるようにする
カスタマーポータルを使用して、paused
でサブスクリプションのトライアルが終了した顧客のサブスクリプションを有効にするには、ダッシュボードで新しいサブスクリプションを作成するときに、支払い方法の機能を使用せずに無料トライアルを有効にします。
トライアルの終了前にリマインドメールを送信する
トライアル期間が終了する前にリマインダーメールを送信するには、サブスクリプションとメールの設定で Stripe のオンラインページへのリンクを選択します。リマインダーメールには、顧客が支払い情報を追加または更新するためのリンクが含まれています。無料トライアルのリマインダーメールは、サンドボックスでは送信されません。無料トライアルのリマインダーを設定する方法については、こちらのページでご確認ください。
独自のメールを顧客に送信するには、customer.
イベントを使用します。ダッシュボードにイベントが表示された後に、メールが送信されたことが確認されます。
顧客がトライアルの終了前に支払い情報を提供した場合はトライアルを変換する
サブスクリプションと次回の請求書は、トライアルの開始時に作成され、顧客が支払い方法を指定しているときはトライアルの終了時に有効になります。
支払い方法が指定されていない場合に一時停止を設定する
無料トライアルが終了した後、個別のサブスクリプションでデフォルトの支払い方法を利用できない場合は、そのサブスクリプションを一時停止するように設定することができます。
一時停止中でもサブスクリプションを更新することができます。サブスクリプションの一時停止中は顧客は請求されないため、通常は比例配分を生成する更新 (アイテムの追加、価格やプランの変更、数量の変更など) によって比例配分のラインアイテムが生成されることはありません。サブスクリプションが paused
ステータスに移行した後でトライアルを延長する場合は、トライアルを設定する前に、サブスクリプションを再開する必要があります。
Stripe は、サブスクリプションと顧客の default_
と default_
を調べて、トライアルの終了時にサブスクリプションの支払い方法が指定されていないかどうかを判断します。
一時停止されているサブスクリプションを再開する
一時停止したサブスクリプションを再開するには、ダッシュボード、API、カスタマーポータル、またはオンライン請求書ページを使用します。
サブスクリプションの請求書作成
一時停止されたサブスクリプションでは請求書は作成されません。請求書を引き続き作成する場合は、pause_
を使用して支払いの回収を停止し、請求書を作成して請求期間を先に進めます。
一時停止したサブスクリプションが再開されたときに生成される請求書をプレビューするには、subscription_details.resume_at を指定します。