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

Stripe Invoices自定义动态价格实现相关技术问题咨询

Stripe动态价格关联产品的实现方案

方案1:使用Checkout Session的price_data参数实现动态定价(最适配现有流程)

你之前使用的是固定price ID的写法,实际上Checkout Session的line_items支持直接传入price_data字段动态生成一次性价格,同时绑定到指定产品ID,不需要提前创建数百个price对象。
示例代码如下:

session = stripe.checkout.Session.create(
    mode='payment',
    customer=customer_id,
    payment_method_types=['card'],
    line_items=[{
        'price_data': {
            'currency': 'usd',
            'product': YOUR_PRODUCT_ID, # 直接绑定提前创建的产品ID,后续交易记录都会关联到该产品
            'unit_amount': 1099, # 自定义动态价格,单位为分,可根据用户场景实时计算传入
        },
        'quantity': 5,
    }],
)

该方案优势是完全复用现有Checkout支付流程,生成的Invoice、交易记录都会自动关联到指定产品,无需额外调整支付链路。

方案2:独立创建Invoice后生成支付链接

如果你的场景需要先给用户展示Invoice再发起支付,可以直接在后端创建自定义价格的Invoice,绑定产品后生成支付链接:

# 第一步:创建Invoice草稿
invoice = stripe.Invoice.create(
    customer=customer_id,
    collection_method='send_invoice',
    days_until_due=7,
)
# 第二步:添加自定义价格的行项目,绑定对应产品
stripe.InvoiceItem.create(
    customer=customer_id,
    invoice=invoice.id,
    currency='usd',
    amount=5495, # 总价,也可拆分unit_amount+quantity配置
    description='定制产品付费',
    product=YOUR_PRODUCT_ID, # 关联指定产品
)
# 第三步:定稿Invoice生成支付链接
invoice = invoice.finalize_invoice()
# 可直接把invoice.hosted_invoice_url返回给用户跳转支付

方案3:Payment Intent绑定产品的改造方式

如果你坚持使用Payment Intent的流程,可以通过metadata字段关联产品ID,后续在Stripe后台可以通过metadata筛选关联产品的交易:

const paymentIntent = await stripe.paymentIntents.create({
    amount: 1099,
    currency: "usd",
    metadata: {
        product_id: YOUR_PRODUCT_ID,
        product_name: "你的产品名称"
    }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:24:03