订阅模式下的条纹结账会话,免费试用且无需请求付款方式
Stripe checkout session in subscription mode, with free trial and without requesting payment method
Stripe Checkout 是否可以删除付款方式字段或使其不再“必需”API?
这是我的后端代码:
const freeTrial = {
trial_from_plan: realSubscription.id === 4 ? true : false
}
if(customerStripeId != undefined || customerStripeId != null){
const session = await stripe.checkout.sessions.create({
mode: 'subscription',
payment_method_types: ['card'],
line_items: [
{
price: formData.monthlySetting === true ? realSubscription.monthly_price_id : realSubscription.annual_price_id,
quantity: 1
}
],
customer: customerStripeId,
success_url: `${BASE_URL}/success?session_id={CHECKOUT_SESSION_ID}`,
cancel_url: BASE_URL,
subscription_data: freeTrial
})
return {customerHasId: 'true', sessionData: session }
}else{
return {customerHasId: 'false'}
}
在 Stripe 中 UI 我为我的第一个计划设置了 30 天的试用期。它正在工作,但是当我结帐时,Stripe 仍然要求提供付款方式。
就像 Stripe 的这个结账演示:
link to demo
今天这是不可能的。 Stripe Checkout 需要有效的付款方式详细信息,以最大限度地提高您在试用结束时获得第一张发票付款的机会。结帐时无法跳过付款方式详细信息收集。
如果您不想预先使用付款方式,那么您可以在不使用 Stripe Checkout 的情况下创建带有试用版的订阅。
Stripe Checkout 是否可以删除付款方式字段或使其不再“必需”API?
这是我的后端代码:
const freeTrial = {
trial_from_plan: realSubscription.id === 4 ? true : false
}
if(customerStripeId != undefined || customerStripeId != null){
const session = await stripe.checkout.sessions.create({
mode: 'subscription',
payment_method_types: ['card'],
line_items: [
{
price: formData.monthlySetting === true ? realSubscription.monthly_price_id : realSubscription.annual_price_id,
quantity: 1
}
],
customer: customerStripeId,
success_url: `${BASE_URL}/success?session_id={CHECKOUT_SESSION_ID}`,
cancel_url: BASE_URL,
subscription_data: freeTrial
})
return {customerHasId: 'true', sessionData: session }
}else{
return {customerHasId: 'false'}
}
在 Stripe 中 UI 我为我的第一个计划设置了 30 天的试用期。它正在工作,但是当我结帐时,Stripe 仍然要求提供付款方式。
就像 Stripe 的这个结账演示:
今天这是不可能的。 Stripe Checkout 需要有效的付款方式详细信息,以最大限度地提高您在试用结束时获得第一张发票付款的机会。结帐时无法跳过付款方式详细信息收集。
如果您不想预先使用付款方式,那么您可以在不使用 Stripe Checkout 的情况下创建带有试用版的订阅。