如何预设订阅价格和试用期?

问题描述 投票:0回答:1

我正在为每位新客户创建订阅,并提供为期 1 个月的初始试用。

// Create subscription
SubscriptionCreateOptions options = new()
{
    Customer = customerId,
    Items = [],
    TrialEnd = DateTime.UtcNow.AddMonths(1)
};

// Add subscription items
foreach (string price in Settings.ParsePriceIds())
    options.Items.Add(new() { Price = price });

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

TrailEnd
的文档指出:

如果设置,Trial_end 将覆盖客户所订阅计划的默认试用期。

我的问题是:如何指定一个指定试用期的计划(如文档中所述),然后在创建订阅时引用该计划?

在上面的代码中,

ParsePriceId()
从配置文件中解析任意数量的价格ID并将它们添加到订阅中。但如果我可以在 Stripe 中定义一个计划来指定所有定价和任何试验,那似乎会更容易。

c# asp.net-core .net-core stripe-payments
1个回答
0
投票

在计划上指定试用是一项旧功能,不建议这样做。 对于使用旧方法的人来说,文档中提到了这一点,但您不应该构建在计划上设置试用期的新内容。

事实上,计划本身是遗留的,并已被价格取代,正如 Stripe 文档中提到的

您现在可以使用 Prices API 更灵活地对订阅进行建模。它取代了 Plans API 并向后兼容以简化您的迁移。

也就是说,在技术上仍然可以创建计划并指定

trial_period_days
,但同样,不建议这样做。

© www.soinside.com 2019 - 2024. All rights reserved.