# サブスクリプションでトライアルの提供を設定 サブスクリプション商品に対して無料または有料のトライアルを提供します。 ![](https://b.stripecdn.com/docs-statics-srv/assets/trial-offer.2128af954f90482fce40e29d1604a01b.png) [Trial Offer](https://docs.stripe.com/api/product-catalog/trial-offer.md?api-version=2026-03-25.preview) API を使用して、1 つの API 連携で[サブスクリプション](https://docs.stripe.com/subscriptions.md)の無料導入期間と有料導入期間の両方を管理できます。トライアルオファーを使用すると、購入意欲の高いリードを絞り込み、トライアルの悪用を減らし、期間限定で顧客に割引レートを提供できます (たとえば、オファーの最初の 1 週間は 1 USD など)。 ## ユースケース トライアルオファーを使用すると、Stripe でプロモーション価格設定と商品提供の実験を直接実行できます。トライアルオファーの一般的なユースケースは次のとおりです。 | ユースケース | 説明 | | ----------------- | ------------------------------------------------------------------------------------------------------------------------------ | | **割引トライアル** | トライアルから有料のサブスクリプションへの移行率を向上させて収益を生み出すには、割引料金で利用できるトライアルを設定します。たとえば、4 USDの初期料金を 4 週間提供、または 7 日間の無料トライアルを提供するということです。 | | **無料トライアル** | 無料トライアルサブスクリプションを提供するには、サブスクリプションに0 USDの項目を含めます。 | | **トライアルのアップグレード** | プレミアム機能を追加販売するには、アップグレード・トライアルを設定します。たとえば、基本プランの顧客に基本プランの料金でプレミアム機能を使用できる 7 日間のトライアルを提供します。そしてトライアルの終了時に顧客を自動的にプレミアム料金に移行させます。 | | **商品別のトライアル** | アドオン、AI パック、その他の機能バンドルを販売する場合、項目別にトライアルを設定できます。サブスクリプションの 1 つのライン項目についてのみトライアルを顧客に提供し、他のアイテムについては正規の価格で請求できます。 | ## Before you begin - 導入は [2026-03-25.preview](https://docs.stripe.com/changelog.md?channel=preview#2026-03-25.preview) である必要があります。プレビュー機能にアクセスするには、リクエストヘッダーでその [Stripe version](https://docs.stripe.com/api/versioning.md) を指定する必要があります。 - トライアルオファーを使用するには、サブスクリプションを`従来` の [請求モード](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-billing_mode)から[柔軟な請求モード](https://docs.stripe.com/billing/subscriptions/billing-mode.md)にアップグレードする必要があります。 ### 制限事項 - トライアルオファーは、継続サブスクリプションアイテムにのみ適用されます。非継続アイテムは、有料トライアルや割引トライアル料金の対象にはなりません。 - 公開プレビューでは、ダッシュボードとカスタマーポータルのサポートが制限されます。ダッシュボードとカスタマーポータルの両方を使用して、API を使用して作成されたトライアルオファーを表示できますが、トライアルオファーアイテムの作成、管理、変更には使用できません。 - サブスクリプションの作成後にトライアル期間を変更したり、トライアルの延長と短縮をスケジュールしたりすることはできません。 - [Trial Offer API](https://docs.stripe.com/api/product-catalog/trial-offer.md?api-version=2026-03-25.preview) および [trial_end](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-trial_end)の制限事項: - トライアルオファーと従来の `trial_end` パラメータを同時に使用することはできません。トライアルオファー API を使用して、割引トライアルと無料トライアルを設定することをお勧めします。 - [Checkout](https://docs.stripe.com/payments/checkout.md) を使用する場合、トライアルオファーは使用できません。Checkout でトライアルサブスクリプションを作成するには、`trial_end` を使用したレガシーの無料トライアルを使用する必要があります。[無料トライアルの設定](https://docs.stripe.com/payments/checkout/free-trials.md)をご覧ください。 ## トライアルオファーの仕組み *商品* (Products represent what your business sells—whether that's a good or a service)とは、顧客に提供する特定の商品またはサービスで、*価格* (Prices define how much and how often to charge for products. This includes how much the product costs, what currency to use, and the interval if the price is for subscriptions)は単価を指します。サブスクリプションとは、顧客に対してそれら商品の代金を先に指定された価格で定期的に請求するものです。トライアルオファーを作成する場合、トライアル価格とトライアルの期間を指定する必要があります。トライアル期間が終了すると、サブスクリプションは自動的に正規の価格または別の価格に戻ります。 トライアルオファーは、[商品や価格](https://docs.stripe.com/products-prices/how-products-and-prices-work.md)を置き換えるものではありません。`トライアルオファー`は、アイテムの基本[価格](https://docs.stripe.com/api/subscription_items/object.md?#subscription_item_object-price)を変更せずに、期間限定の割引価格または無料価格を[サブスクリプション項目](https://docs.stripe.com/api/subscription_items.md)に関連付ける個別のオブジェクトです。 ## トライアルオファーを作成する [トライアルオファーを作成する](https://docs.stripe.com/api/product-catalog/trial-offer/create.md?api-version=2026-03-25.preview)には、[price.id](https://docs.stripe.com/api/prices/object.md#price_object-id) を使用して [price](https://docs.stripe.com/api/product-catalog/trial-offer/create.md?api-version=2026-03-25.preview#create_product_catalog_trial_offer-price) を渡し、トライアル期間中の料金を定義します。無料トライアルの場合は 0 USD、有料トライアルの場合は正の金額を設定できます。次に、トライアルの [duration.type](https://docs.stripe.com/api/product-catalog/trial-offer/create.md?api-version=2026-03-25.preview#create_product_catalog_trial_offer-duration-type) を `relative` (請求間隔に基づく) または `timestamp` (絶対日付に基づく) に設定します。相対期間の場合は、[iterations](https://docs.stripe.com/api/product-catalog/trial-offer/object.md?api-version=2026-03-25.preview#product_catalog_trial_offer_object-duration-relative-iterations) を使用して請求間隔の数を定義します。次に、[end_behavior](https://docs.stripe.com/api/product-catalog/trial-offer/create.md?api-version=2026-03-25.preview#create_product_catalog_trial_offer-end_behavior) を使用してトライアル終了時の動作を定義します。`transition` を使用して、トライアル終了時にサブスクリプションの移行先となる [price.id](https://docs.stripe.com/api/prices/object.md#price_object-id) を指定します。 ### 相対的な期間を指定してトライアルオファーを作成する ```curl curl https://api.stripe.com/v1/product_catalog/trial_offers \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "price={{PRICE_ID}}" \ -d "duration[relative][iterations]=1" \ -d "duration[type]=relative" \ -d "end_behavior[transition][price]={{PRICE_ID}}" ``` ### タイムスタンプ期間を指定してトライアルオファーを作成する ```curl curl https://api.stripe.com/v1/product_catalog/trial_offers \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "price={{PRICE_ID}}" \ -d "duration[type]=timestamp" \ -d "end_behavior[transition][price]={{PRICE_ID}}" ``` ## 新しいサブスクリプションにトライアルオファーを関連付ける トライアルオファーを[サブスクリプション](https://docs.stripe.com/api/subscriptions/object.md)に関連付けるには、[trial_offer.id](https://docs.stripe.com/api/product-catalog/trial-offer/object.md?api-version=2026-03-25.preview#product_catalog_trial_offer_object-id) を[items.current_trial.trial_offer](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-items-current_trial) パラメーターで指定します。 #### Accounts v2 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "billing_mode[type]=flexible" \ -d "items[0][current_trial][trial_offer]=to_123" \ -d "items[0][quantity]=1" ``` #### Customer v1 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer={{CUSTOMER_ID}}" \ -d "billing_mode[type]=flexible" \ -d "items[0][current_trial][trial_offer]=to_123" \ -d "items[0][quantity]=1" ``` ## トライアルオファーでサブスクリプションを更新する ### 既存のサブスクリプションにトライアルオファーを追加する 既存のサブスクリプションにトライアルオファーを追加するには、[trial_offer.id](https://docs.stripe.com/api/product-catalog/trial-offer/object.md?api-version=2026-03-25.preview#product_catalog_trial_offer_object-id) を [items.current_trial.trial_offer](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-items-current_trial) パラメーターで指定します。 ```curl curl https://api.stripe.com/v1/subscriptions/{{SUBSCRIPTION_ID}} \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "items[0][current_trial][trial_offer]=to_123" ``` ### 既存のアイテムを含むサブスクリプションにトライアルオファーを追加する 既存の項目があるサブスクリプションにトライアルオファーを別の項目として追加するには、[items](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-items) 配列に項目を追加し、items 配列内の [trial_offer.id](https://docs.stripe.com/api/product-catalog/trial-offer/object.md?api-version=2026-03-25.preview#product_catalog_trial_offer_object-id) を [items.current_trial.trial_offer](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-items-current_trial) パラメーターで指定します。 ```curl curl https://api.stripe.com/v1/subscriptions/{{SUBSCRIPTION_ID}} \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "items[0][id]={{SUBSCRIPTIONITEM_ID}}" \ -d "items[1][current_trial][trial_offer]=to_123" \ -d "items[1][quantity]=1" ``` ### サブスクリプション項目をトライアルオファーに変換する 既存のサブスクリプション項目をトライアルオファーに変換するには、[items.id](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-items-id) を含め、[trial_offer.id](https://docs.stripe.com/api/product-catalog/trial-offer/object.md?api-version=2026-03-25.preview#product_catalog_trial_offer_object-id) を [items.current_trial.trial_offer](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-items-current_trial) パラメーターで指定します。 ```curl curl https://api.stripe.com/v1/subscriptions/{{SUBSCRIPTION_ID}} \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "items[0][id]={{SUBSCRIPTIONITEM_ID}}" \ -d "items[0][current_trial][trial_offer]=to_123" ``` ### トライアルオファーの項目数量を変更する トライアルオファーの項目[数](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-items-quantity)を変更するには、サブスクリプションを更新します。 ```curl curl https://api.stripe.com/v1/subscriptions/{{SUBSCRIPTION_ID}} \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "items[0][id]={{SUBSCRIPTIONITEM_ID}}" \ -d "items[0][quantity]=2" ``` ## サブスクリプションスケジュールにトライアルオファーを追加する タイムスタンプ型のトライアルオファーは、[サブスクリプションスケジュール](https://docs.stripe.com/api/subscription_schedules.md)でのみ使用できます。一定の請求間隔後に終了する相対期間のトライアルとは異なり、タイムスタンプ型のトライアルは絶対日付に終了します。これを作成するには、トライアルオファーの [duration.type](https://docs.stripe.com/api/product-catalog/trial-offer/object.md?api-version=2026-03-25.preview#product_catalog_trial_offer_object-duration-type) を `timestamp` に設定します。 ```curl curl https://api.stripe.com/v1/product_catalog/trial_offers \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "price={{PRICE_ID}}" \ -d "duration[type]=timestamp" \ -d "end_behavior[transition][price]={{PRICE_ID}}" ``` 次に、[phases.items.trial_offer](https://docs.stripe.com/api/subscription_schedules/create.md?api-version=2026-03-25.preview#create_subscription_schedule-phases-items-trial_offer) を使用して、トライアルオファーをサブスクリプションスケジュールの [phase](https://docs.stripe.com/api/subscription_schedules/create.md?#create_subscription_schedule-phases) に関連付けます。 #### Accounts v2 ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d start_date=1610403705 \ -d "phases[0][items][0][trial_offer]=to_123" \ -d "phases[0][end_date]=1610403706" ``` #### Customer v1 ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer={{CUSTOMER_ID}}" \ -d start_date=1610403705 \ -d "phases[0][items][0][trial_offer]=to_123" \ -d "phases[0][end_date]=1610403706" ``` ## トライアルオファーのあるサブスクリプションを表示 [サブスクリプションを取得](https://docs.stripe.com/api/subscriptions/retrieve.md)すると、レスポンスにはトライアルオファーを含む各項目の設定が含まれます。 ```curl curl https://api.stripe.com/v1/subscriptions/{{SUBSCRIPTION_ID}} \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" ``` ## 有料トライアルの終了時にサブスクリプションをキャンセルする 有料トライアルの終了時にサブスクリプションをキャンセルするには、トライアルが提供されるサブスクリプションを作成し、[cancel_at](https://docs.stripe.com/api/subscriptions/update.md?#update_subscription-cancel_at)パラメータをトライアル期間の終了時に設定します。 このパターンでは、顧客の許可なく継続サブスクリプションに変換されることがないようにして、オプトイン更新をサポートしています。 #### Accounts v2 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "items[0][current_trial][trial_offer]=to_123" \ -d "items[0][quantity]=1" \ -d cancel_at=1610403706 ``` #### Customer v1 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer={{CUSTOMER_ID}}" \ -d "items[0][current_trial][trial_offer]=to_123" \ -d "items[0][quantity]=1" \ -d cancel_at=1610403706 ``` ## トライアルオファーを他の機能とともに使用する ### 従量課金を使用したトライアルオファー [Price](https://docs.stripe.com/api/prices/object.md) オブジェクトを作成する際に、継続価格ではなく従量価格を指定して、トライアルオファーに関連付けることができます。これにより、同じ[従量課金](https://docs.stripe.com/billing/subscriptions/usage-based.md)機能を割引価格で提供できます。 従量制価格を使用するには、[usage_type](https://docs.stripe.com/api/prices/object.md?#price_object-recurring-usage_type) を `metered` に設定し、使用状況を追跡する既存の [meter](https://docs.stripe.com/api/prices/object.md?#price_object-recurring-meter) を追加します。 ```curl curl https://api.stripe.com/v1/prices \ -u "<>:" \ -d currency=usd \ -d billing_scheme=per_unit \ -d unit_amount=1 \ -d "recurring[interval]=week" \ -d "recurring[usage_type]=metered" \ -d "recurring[meter]=mtr_123" \ -d "product_data[name]=Trial Period Price" ``` 次に、他の継続価格と同様に、価格をトライアルオファーに関連付けます。 ```curl curl https://api.stripe.com/v1/product_catalog/trial_offers \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "price={{PRICE_ID}}" \ -d "duration[relative][iterations]=1" \ -d "duration[type]=timestamp" \ -d "end_behavior[transition][price]={{PRICE_ID}}" ``` ## その他の考慮事項 ### サブスクリプションのトライアルステータスとトライアルオファー トライアルオファーを使用する場合、サブスクリプションの`ステータス`はトライアルの価格によって決まります。 - **無料トライアル (0 USD)**: サブスクリプションにトライアルオファーのみが含まれ、すべてのトライアルオファー価格が0 USDに設定されている場合、サブスクリプションのステータスは`トライアル`です。これは従来の `trial_end` の動作と一致しており、「カード不要」または標準の無料トライアルフローに最適です。 - **有料のトライアル (>0 USD)**: サブスクリプションに通常の価格項目がある場合、またはトライアルオファーにゼロ以外の価格が設定されている場合、サブスクリプションのステータスは `active`、`incomplete`、または `past_due` になります。この動作は、トライアルオファーのない他のサブスクリプションと同様です。有料のトライアルでは決済が即時に成功する必要があるため、サブスクリプションは標準の `PaymentIntent` ライフサイクルに従います。これにより、顧客がプロモーション価格を支払う場合でも、継続決済の全額を支払う場合でも、既存の請求ロジック (Webhook など)の一貫性が保たれます。 ### イベント トライアルが変更されるたびに、[イベント](https://docs.stripe.com/api.md#event_types)がトリガーされます。導入でイベントが処理されていることを確認してください。たとえば、トライアルが終了する前に顧客にメールを送信できます。[サブスクリプションイベントの処理](https://docs.stripe.com/billing/subscriptions/webhooks.md#events)の詳細はこちらをご覧ください。 次の表では、無料トライアル終了前、トライアルサブスクリプションを一時停止またはキャンセルする場合、およびサブスクリプションを再開して有効になった場合にトリガーされるイベントについて説明しています。 | イベント | 説明 | ユースケース | | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `customer.subscription.deleted` | サブスクリプションが終了すると送信されます。 | このイベントへの対応として商品へのアクセスの提供を停止します。決済手段の指定がなく、サブスクリプションの `missing_payment_method` の終了時の動作が `cancel` に設定されている場合、無料トライアルが終了すると、サブスクリプションは `canceled` ステータスに移行し、このイベントを送信します。 | | `customer.subscription.resumed` | サブスクリプションが一時停止されなくなったときに送信されます。このイベントを受け取ったら、サブスクリプションが一時停止されていたときに商品へのアクセスが取り消されていた場合には、商品へのアクセスを顧客に付与します。 | 一時停止されたサブスクリプションは、再開されると有効なサブスクリプションに変換されます。サブスクリプションを再開すると、請求書と対応する Payment Intent が生成される場合があります。この決済が完了しないと、サブスクリプションが `paused` ステータスから移行できません。 | | `customer.subscription.paused` | サブスクリプションが完全に一時停止されると送信されます。サブスクリプションが再開されるまで請求は発生しません。このイベントを受け取ったら、顧客が支払い方法を追加して、サブスクリプションが再開されるまで、商品への顧客のアクセスを取り消すことができます。 | このイベントへの対応として商品へのアクセスの提供を停止します。支払い方法の指定がなく、サブスクリプションの `missing_payment_method` の終了時の動作が `pause` に設定されている場合は、無料トライアルが終了すると、サブスクリプションが `paused` ステータスに移行し、このイベントを送信します。この場合サブスクリプションは、明示的に再開されるまで `paused` のままになります。 | | `customer.subscription.trial_will_end` | トライアル期間終了の 3 日前に送信されます。トライアル期間が 3 日未満になると、このイベントがすぐにトリガーされます。 | トライアル期間終了の 3 日前に、顧客にメールを自動送信するように、サブスクリプションを設定します。 | ### トライアルオファー終了時の請求アンカーの設定 トライアルのオファーが終了し、通常の継続価格に移行すると、顧客は新しい請求サイクルをすぐに開始する必要があります。デフォルトでは、サブスクリプションの [billing_cycle_anchor](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-trial_settings-end_behavior-billing_cycle_anchor) はトライアルの終了時刻 (現在)に自動的にリセットされます。これにより、比例配分を生成せずに、最初の通常期間の全額が顧客に直ちに請求されます。 `billing_cycle_anchor` を変更しない場合は、`unchanged` に設定できます。 `billing_cycle_anchor` の設定オプションには、次のものがあります。 - `now`(デフォルト): サブスクリプションの `billing_cycle_anchor` をトライアルオファーの完了時刻にリセットします。これにより、通常価格の新しい請求サイクルが作成され、比例配分なしの全額請求書が生成されます。 - `unchanged`: サブスクリプションが最初に作成されたときの元の起点を維持します。トライアル終了日から次の起点日までの期間は、比例配分された金額で請求されます。 たとえば、1 USD の 7 日間のトライアルを提供し、8 日目から最初の 20 USD の月次支払いを 1 ヵ月分満額にする場合、 1. 1 月 1 日: 7 日間のトライアルオファーで作成されたサブスクリプション。 1. 1 月 8 日: トライアルが終了します。`billing_cycle_anchor` は自動的に 1 月 8 日にリセットされます。 1. 請求書: Stripe は、1 月 8 日から 2 月 8 日までの継続価格の全額 20 USD の請求書を生成します。比例配分は適用されません。 #### Accounts v2 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "items[0][price]={{PRICE_ID}}" \ -d "items[0][current_trial][trial_offer]={{TRIAL_OFFER_ID}}" \ -d "trial_settings[end_behavior][billing_cycle_anchor]=unchanged" ``` #### Customer v1 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer={{CUSTOMER_ID}}" \ -d "items[0][price]={{PRICE_ID}}" \ -d "items[0][current_trial][trial_offer]={{TRIAL_OFFER_ID}}" \ -d "trial_settings[end_behavior][billing_cycle_anchor]=unchanged" ``` ## See also - [商品と価格](https://docs.stripe.com/products-prices/overview.md) - [価格](https://docs.stripe.com/api.md#prices) - [サブスクリプション](https://docs.stripe.com/api.md#subscriptions) - [サブスクリプション請求期間の管理](https://docs.stripe.com/billing/subscriptions/billing-cycle.md)