Stripe Checkout 会话中的试用期
Posted
技术标签:
【中文标题】Stripe Checkout 会话中的试用期【英文标题】:trial period in Checkout session in Stripe 【发布时间】:2021-02-20 05:44:48 【问题描述】:我想创建用于条带结帐会话的试用期:
session = stripe.checkout.Session.create(
customer=customer.stripe_id,
payment_method_types=['card'],
line_items=[
'price': "price_1HjynjHdAhQwSUAK",
'quantity': 1,
'tax_rates': ["txr_1Hkntg4yXtzmX", ],
,
mode='payment',
allow_promotion_codes=True,
success_url=request.build_absolute_uri(reverse('thanks')) + '?session_id=CHECKOUT_SESSION_ID',
cancel_url=request.build_absolute_uri(reverse('index_payment')),
)
在tripe.Subscription.create 中看起来我们只需要添加 trial_end=1605387163,但它在结帐会话中不起作用。尽管我很确定它是可行的,但我似乎找不到这样做的方法,如demo 所示:
如果有人可以提供帮助,我将不胜感激。
【问题讨论】:
【参考方案1】:trial_end
的想法是正确的,它只需要成为 subscription_data
下的子参数即可。
// other parameters
subscription_data:
trial_end=1605387163
https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-subscription_data-trial_end
【讨论】:
感谢它有效。但是看起来发票中的所有产品都是相同的试用版。换句话说,如果有 3 个产品需要支付,并且每个产品都有不同的试用天数,我们不能为它们分配 3 个不同的试用天数。是这样吗? 这里的问题是:***.com/questions/64745642/…【参考方案2】:Brendan 的回答为我指明了正确的方向,对于 php,添加 trial_end 的语法例如是:
$session = \Stripe\Checkout\Session::create([
.......
Your Other parameters
.......
'subscription_data' => ['trial_end' => 1624110173],
]);
其中 1624110173 是免费期结束的 unix 时间戳。有关结帐流程和代码的一般说明,请参阅此 Stripe 文档:
Stripe Documents
【讨论】:
以上是关于Stripe Checkout 会话中的试用期的主要内容,如果未能解决你的问题,请参考以下文章