サブスクリプションでトライアル期間を使用する
トライアル期間を使用することで、有効なサブスクリプションに対する支払いを延期します。
サブスクリプションの作成時に次のように trial_
引数を指定することで、無料のトライアル期間を設けて顧客のサブスクリプションを開始できます。
trial_
パラメーターは、トライアルが終了する厳密な時点を示すタイムスタンプを取得します。サブスクリプションの作成時に、現時点からトライアルの継続期間の日数を表す整数である trial_period_days パラメーターを代わりに使用することもできます。
トライアル期間を指定してサブスクリプションを作成するときに、顧客の支払い方法は必要ありません。即時請求書が作成されますが、請求金額は $0 になります。
トライアルの終了時にサブスクリプションの status
が paused
でない場合、請求書が生成され、invoice.
イベント通知が送信されます。約 1 時間後に、Stripe はその請求書の請求を試行します。トライアルの終了時に顧客の新しい請求サイクルも開始されます。
トライアルを早期終了するには、Update Subscription (サブスクリプションの更新) API コールを実行して、trial_
値に新しいタイムスタンプを設定します。即時終了する場合は、次のように now を設定します。
トライアルを請求サイクルアンカーと組み合わせる
API バージョン 2018-02-05 では、トライアルを billing_
と組み合わせることもできるようになりました。これにより、無料期間の後に日割り計算期間が続き、その後に固定の請求サイクルが開始されます。
たとえば、今日が 15 日で、顧客に無料の 7 日間のトライアルを (22 日まで) 提供し、翌月 1 日から通常の請求を開始するとします。この設定は、API でトライアルを billing_
と組み合わせることにより実行できます (現在ダッシュボードでは利用できません)。
この例では、顧客は 22 日に (翌月 1 日までの期間に対して)_「比例配分 (日割りおよび秒割り計算) を適用した」_金額の請求書を受け取ります。その後、翌月 1 日に全額を再度請求され、さらに翌々月 1 日に再度請求という形で続きます。
トライアルを従量課金と組み合わせる
サブスクリプションのトライアル期間中に、従量課金ベースで請求できます。トライアル期間中に発生した使用量は、通常の請求サイクルの総額には含められません。トライアル期間の終了後に使用量が発生し、それが次回の請求サイクルの終了時に請求されます。
一時停止されたサブスクリプションの従量課金
サブスクリプションの一時停止中でも、サブスクリプションの価格に関連付けられたメーターイベントは送信できます。ただし、サブスクリプションを再開しても、請求書には一時停止中に送信されたメーターイベントは反映されません。今後の請求書には、再開日以降に発生したメーターイベントのみが反映されます。レガシーの使用レコードを使用している場合、サブスクリプションの一時停止中は新しい使用レコードを作成できません。
トライアルを 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
でサブスクリプションのトライアルが終了した顧客のサブスクリプションを有効にするには、ダッシュボードで新しいサブスクリプションを作成するときに、支払い方法の機能を使用せずに無料トライアルを有効にします。
トライアルの終了前にリマインドメールを送信する
To send a reminder email prior to the end of the trial, select the Link to a Stripe-hosted page option in the Subscriptions and emails setting. The reminder email contains a link for the customer to add or update their payment details. We don’t send free trial reminder emails in a sandbox. Learn more about how to setup free trial reminders.
独自のメールを顧客に送信するには、customer.
イベントを使用します。ダッシュボードにイベントが表示された後に、メールが送信されたことが確認されます。
顧客がトライアルの終了前に支払い情報を提供した場合はトライアルを変換する
サブスクリプションと次回の請求書は、トライアルの開始時に作成され、顧客が支払い方法を指定しているときはトライアルの終了時に有効になります。
支払い方法が指定されていない場合に一時停止を設定する
無料トライアルが終了した後、個別のサブスクリプションでデフォルトの支払い方法を利用できない場合は、そのサブスクリプションを一時停止するように設定することができます。
一時停止中でもサブスクリプションを更新することができます。サブスクリプションの一時停止中は顧客は請求されないため、通常は比例配分を生成する更新 (アイテムの追加、価格やプランの変更、数量の変更など) によって比例配分のラインアイテムが生成されることはありません。サブスクリプションが paused
ステータスに移行した後でトライアルを延長する場合は、トライアルを設定する前に、サブスクリプションを再開する必要があります。
Stripe は、サブスクリプションと顧客の default_
と default_
を調べて、トライアルの終了時にサブスクリプションの支払い方法が指定されていないかどうかを判断します。
一時停止されているサブスクリプションを再開する
一時停止したサブスクリプションを再開するには、ダッシュボード、API、カスタマーポータル、またはオンライン請求書ページを使用します。
サブスクリプションの請求書作成
一時停止されたサブスクリプションでは請求書は作成されません。請求書を引き続き作成する場合は、pause_
を使用して支払いの回収を停止し、請求書を作成して請求期間を先に進めます。
To preview the invoice that’s generated when a paused subscription is resumed, specify subscription_details.resume_at.