You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

试用期到期后如何在应用内为现有Stripe订阅添加信用卡

无信用卡免费试用+应用内补填支付方式实现方案

核心实现逻辑

  • 保留Stripe作为流程首环,无需改动原有账户创建触发链路
  • 创建Stripe客户及订阅时无需绑定支付方式,仅通过参数指定试用周期即可生成有效试用订阅
  • 试用到期前/到期后,在应用内通过Stripe Elements安全收集支付信息,直接绑定到对应订阅完成续费授权

后端实现示例(Node.js环境)

1. 创建无支付方式的试用订阅

// 第一步:先根据用户提交的姓名、邮箱创建Stripe客户
const customer = await stripe.customers.create({
  name: 用户提交的姓名,
  email: 用户提交的邮箱,
});

// 第二步:创建带试用期的订阅,无需传入支付方式
const subscription = await stripe.subscriptions.create({
  customer: customer.id,
  items: [{ price: '你的Stripe月度订阅价格ID' }],
  // 传入试用结束的时间戳,也可以用trial_period_days直接指定试用天数
  trial_end: 试用结束日期的Unix时间戳,
  // 关键参数:无支付方式时允许订阅创建成功
  payment_behavior: 'default_incomplete',
  proration_behavior: 'none',
  expand: ['latest_invoice.payment_intent'],
});

// 后续按原有逻辑,用Stripe返回的客户、订阅信息触发你方应用数据库、Auth0的账户创建流程即可

2. 绑定用户提交的支付方式到对应订阅

// 前端收集到支付方法ID后,后端调用接口完成绑定
// 第一步:将支付方式关联到对应用户的Stripe客户账户
await stripe.paymentMethods.attach(
  前端返回的paymentMethodId,
  { customer: 对应用户的Stripe客户ID }
);

// 第二步:将该支付方式设为订阅的默认支付方式
await stripe.subscriptions.update(
  对应用户的订阅ID,
  {
    default_payment_method: 前端返回的paymentMethodId,
    // 可选:如果用户是在试用到期后提交,可配置是否立即结算已生成的到期账单
    payment_behavior: 'default_incomplete',
    proration_behavior: 'none',
  }
);

前端应用内支付表单实现要点

  • 直接使用Stripe Elements的支付组件收集信用卡信息,所有数据传输由Stripe加密处理,无需你方处理敏感卡信息,符合PCI合规要求
  • 表单提交后仅需获取Stripe返回的paymentMethodId传给后端即可,全程无需跳转至Stripe官方页面

配套优化建议

  • 可配置Stripe Webhook监听customer.subscription.trial_will_end事件,触发你方应用内的试用即将到期提醒,引导用户提前填写支付方式
  • 若用户试用到期后未提交支付方式,可按需调用接口暂停/取消订阅,无需触发Stripe默认的邮件提醒流程

内容的提问来源于stack exchange,提问作者Doug C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:15:03