You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Stripe中预定义含试用周期的订阅计划并在创建订阅时引用?

如何在Stripe中预定义含试用周期的订阅计划并在创建订阅时引用?

我来帮你一步步理清楚这个问题,其实在Stripe里预定义带试用周期的订阅计划(关联产品与价格),再在代码里引用是很省心的操作,具体步骤如下:

第一步:在Stripe后台创建带默认试用周期的订阅计划

你需要先在Stripe控制面板里创建产品,并配置好带试用规则的订阅价格:

  • 登录Stripe后台,进入「产品(Products)」页面,点击「创建产品」
  • 填写产品基础信息后,在「定价」板块选择「订阅」类型
  • 找到「试用周期」选项,设置你想要的默认试用时长(比如1个月),完成后保存配置
  • 配置完成后,这个产品对应的价格会自动绑定你设置的试用规则,你可以在价格详情页复制它的Price ID(格式一般为price_xxxxxx)

第二步:在代码中引用这个预定义的计划(Price ID)

回到你的代码里,不需要再手动设置TrialEnd,直接使用这个带默认试用的Price ID即可,代码可以简化成这样:

// Create subscription
SubscriptionCreateOptions options = new()
{
    Customer = customerId,
    Items = []
};

// 添加预定义好的带试用规则的Price ID
options.Items.Add(new() { Price = "你的预定义Price ID" });

// Create subscription
var service = new SubscriptionService();
await service.CreateAsync(options);

如果你的配置文件里已经存储了这个预定义的Price ID,那Settings.ParsePriceIds()直接返回该ID即可,原来的循环逻辑也能正常工作。

关于文档中「TrialEnd覆盖计划默认试用」的说明

正如你看到的文档描述:

If set, trial_end will override the default trial period of the plan the customer is being subscribed to.

如果你的代码里设置了TrialEnd,它会覆盖你在Stripe后台给计划设置的默认试用周期。所以如果想使用计划的默认试用规则,就不要在代码里设置TrialEnd;如果需要给特定用户自定义试用时长,再手动设置TrialEnd即可,它会优先生效。

这样一来,你就可以把所有定价和试用规则统一在Stripe后台管理,不用在代码里硬编码这些规则,后续维护会方便很多~

备注:内容来源于stack exchange,提问作者Jonathan Wood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 10:55:27