我的目标是修改 Stripe 中订阅的计费间隔,以在用户订阅产品时一次性免费延长 3 个月。该计划的常规计费间隔为 1 年,延长后计费期为 15 个月。但是,在此延长期限之后,它应该恢复到原来的 1 年计费间隔。这不是试用期;而是试用期。这是免费的 3 个月延期,我想立即向用户收费。
下面是我当前的结账会话视图实现,我使用 Stripe webhook 管理所有更改
class CreateCheckoutSessionView(View):
def post(self, request, *args, **kwrgs):
...
checkout_session = stripe.checkout.Session.create(
success_url=protocol + domain + reverse('payment_success')+'?session_id={CHECKOUT_SESSION_ID}',
cancel_url = protocol + domain + reverse('payment_failed'),
payment_method_types=['card'],
mode='subscription',
customer=customer.id,
line_items=[{
'price': price_id,
'quantity': 1,
'metadata': {
}
}],
allow_promotion_codes = True,
subscription_data={
'default_tax_rates': [STRIP_TAX_ID],
},
)
return redirect(checkout_session.url, code=303)
您可以为年度订阅创建结账会话。创建订阅后,进行额外的 API 调用来更新订阅并添加 3 个月的免费试用期。
这样: