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

Stripe API调用成功后在页面展示优惠券条款是否可行?

解决Stripe优惠券条款信息展示的问题

你说得没错,Stripe的原生优惠券对象里确实没有专门存储“条款”的字段——从你贴的示例对象也能看出来,所有自带属性里没有对应条款的内容。所以要实现这个需求,利用metadata字段是官方推荐的标准方案。

为什么选metadata?

Stripe的metadata字段就是专门用来存储自定义键值对的,适合放这类业务相关的额外信息,比如优惠券条款、使用说明这类Stripe原生不支持的字段。它完全符合你的需求,而且Stripe会完整保存这些数据,后续调用API时也能正常返回。

具体实现步骤

1. 创建优惠券时存入条款信息

不管你是通过Stripe Dashboard手动创建,还是用API创建,都可以添加metadata来存储条款:

  • API创建示例:
// 用Stripe Node.js SDK创建带条款的优惠券
stripe.coupons.create({
  name: "DISCONAPZ!",
  amount_off: 700,
  currency: "usd",
  duration: "forever",
  metadata: {
    terms: "此优惠券仅适用于新用户,每个账户限用一次,不可与其他优惠叠加"
  }
});
  • Dashboard创建:在创建优惠券的页面拉到最底部,找到「Metadata」区域,添加键为terms(或你自定义的名称),值为条款内容即可。

2. 获取优惠券时读取并展示条款信息

当你调用API拿到优惠券数据后,就可以从metadata里取出条款内容,再渲染到页面上:

// 假设你已经通过API获取到优惠券数据data
$('.coupon-results__code').text(data.name);
// 读取并展示条款内容
if (data.metadata && data.metadata.terms) {
  $('.coupon-results__terms').text(data.metadata.terms);
}

小提示

  • 建议统一metadata里的键名(比如固定用terms),这样前端读取时不会因为键名不一致出现问题。
  • 如果是通过Dashboard手动创建的优惠券,一定要记得手动添加对应的metadata字段,不然前端会拿不到条款数据。

这样就能完美实现你需要的优惠券条款展示需求了,用metadata是最直接也最符合Stripe设计逻辑的方式~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:25:17