Stripe 结帐会话中的试用期

Nab*_*rsi 5 stripe-payments

我想创建与条带结帐会话一起使用的试用期:

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')),
        )
Run Code Online (Sandbox Code Playgroud)

tripe.Subscription.create 中看起来我们只需要添加trial_end=1605387163,但它在结帐会话中不起作用。我似乎无法找到这样做的方法,尽管我很确定它是可行的,如本演示中所示在此处输入图片说明

如果有人可以提供帮助,我很感激。

Bre*_*ore 12

你有正确的想法trial_end,它只需要是subscription_data.

// other parameters
subscription_data: {
    trial_end=1605387163
}
Run Code Online (Sandbox Code Playgroud)

https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-subscription_data-trial_end


Lew*_*ren 5

Brendan 的回答为我指明了正确的方向,对于 PHP 来说,添加 Trial_end 的语法如下:

$session = \Stripe\Checkout\Session::create([
      .......
      Your Other parameters
      .......
      'subscription_data' => ['trial_end' => 1624110173],
        
    ]);
Run Code Online (Sandbox Code Playgroud)

其中 1624110173 是免费期结束的 unix 时间戳。有关结账流程和代码的一般说明,请参阅此 Stripe 文档:

条纹文档