无前端场景下,如何在Stripe NodeJS后端用预创建价格ID和客户元数据生成订阅支付链接?
Stripe Node.js后端生成绑定客户的订阅支付链接
完全可以在Stripe Node.js后端用预创建的产品价格ID,同时关联你已创建好的带元数据的客户ID来生成支付链接,不需要每次创建新价格。
关键实现步骤
- 关联已有客户:创建支付链接时,通过
customer参数传入你之前生成的客户ID,用户打开链接后会自动关联到该客户,无需重复填写信息。 - 使用预创建价格:直接在
line_items里填入你提前在Stripe Dashboard创建好的订阅价格ID即可,文档示例里的新建价格只是演示场景,不是强制要求。
完整代码示例
// 1. 已完成的创建带元数据的客户步骤 const customer = await stripe.customers.create({ metadata: { author_id: "author_id", custom_id: "custom_id", }, // 可补充email、name等其他客户信息 }); // 2. 用预创建价格ID和客户ID生成支付链接 const paymentLink = await stripe.paymentLinks.create({ line_items: [ { price: "你的预创建订阅价格ID", // 替换为实际的price_id quantity: 1, }, ], customer: customer.id, // 绑定已创建的客户 metadata: { // 可选:给支付链接本身添加额外元数据 order_ref: "custom_order_001" }, // 可选:配置订阅相关规则,比如试用天数 subscription_data: { trial_period_days: 7, }, // 可选:限制仅该客户可使用此链接 restrictions: { customer: customer.id } }); // 将生成的链接返回给客户端使用 console.log("订阅支付链接:", paymentLink.url);
注意事项
- 确认使用的
price_id对应订阅类型的价格(Stripe价格分一次性和订阅两种),否则无法生成订阅类支付链接。 - 客户的元数据会保留在Stripe客户对象中,后续订阅创建后,可通过客户ID关联查询这些信息。
内容的提问来源于stack exchange,提问作者Bucky
相关产品推荐
相关产品推荐

