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

如何生成带动态定价的Stripe自定义订阅链接?

动态定价Stripe订阅支付链接的最优方案

不需要每次创建全新的订阅产品/价格对象,Stripe提供了两种更高效的方案来实现动态定价的订阅支付链接:

方案1:使用价格查找键(Lookup Keys)

适合有预设几种定价档位的场景(比如针对不同用户等级设置不同订阅价格)。你可以给同一个产品下的不同价格对象设置唯一的lookup_key,生成支付链接时直接指定这个键,而不用硬编码价格ID。

步骤:

  1. 先创建基础订阅产品,再为不同定价创建价格对象时指定lookup_key:
// 创建价格对象示例(一次性操作,可在控制台或API完成)
await stripe.prices.create({
  product: 'prod_XXXX', // 你的基础产品ID
  unit_amount: 999, // 金额(单位:分)
  currency: 'usd',
  recurring: {interval: 'month'},
  lookup_key: 'basic_subscription' // 自定义查找键
});

await stripe.prices.create({
  product: 'prod_XXXX',
  unit_amount: 1999,
  currency: 'usd',
  recurring: {interval: 'month'},
  lookup_key: 'premium_subscription'
});
  1. 生成支付链接时用lookup_key代替price参数:
const paymentLink = await stripe.paymentLinks.create({
  line_items: [{
    lookup_key: 'premium_subscription', // 根据用户身份动态传入对应的键
    quantity: 1
  }],
  metadata: {
    author_id: message.author.id,
  },
  subscription_data: {
    // 可选:设置订阅额外参数,比如试用天数
    trial_period_days: 7
  }
});

方案2:使用报价(Quotes)生成自定义订阅链接

适合完全自定义的动态定价场景(比如每个用户的价格都不同,或需要调整订阅周期、折扣等)。通过Quote可以为单个用户创建专属的订阅方案,再生成对应的支付链接。

代码示例:

// 1. 创建报价
const quote = await stripe.quotes.create({
  customer: 'cus_XXXX', // 可选:关联已有客户,无则留空
  line_items: [{
    price: 'price_XXXX', // 基础价格ID,可在此基础上调整金额
    quantity: 1,
    // 自定义金额:覆盖基础价格,设置当前用户专属价格(单位:分)
    unit_amount: 2499
  }],
  subscription_data: {
    payment_behavior: 'default_incomplete',
    payment_settings: {save_default_payment_method: 'on_subscription'}
  },
  expires_at: Math.floor(Date.now() / 1000) + 86400 // 报价有效期1天
});

// 2. 获取报价对应的支付链接
const paymentLink = quote.hosted_invoice_url; // 直接使用托管账单链接作为支付入口

总结

  • 如果是固定几个定价档位动态切换,优先用Lookup Keys,实现简单且维护成本低;
  • 如果需要完全个性化的定价(比如专属折扣、定制金额),用Quotes更灵活,还能支持订阅的个性化配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 04:45:57