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

如何实现单个Stripe促销码支持每位客户仅兑换一次?

单个促销码限制每位客户仅兑换一次的Stripe实现方案

完全可以实现你要的效果,核心是利用Stripe优惠券的per_customer参数,配合合理的优惠券与促销码设置,不用批量创建促销码:

  • 步骤1:创建优惠券C
    创建优惠券时,设置两个关键参数:

    • per_customer: true:这个参数会强制限制每个Stripe客户ID只能兑换该优惠券一次,不管用哪个关联的促销码。
    • max_redemptions: 3:对应你的示例中U1、U2、U3三个潜在客户,控制该优惠券的总兑换次数上限。如果不需要总次数限制,也可以不设置这个参数。
      同时你可以根据需求设置expires_at(优惠券过期时间),不影响核心限制逻辑。
  • 步骤2:创建促销码R关联优惠券C
    生成促销码时,不需要设置customer字段绑定单个用户,也不用单独设置max_redemptions。直接将促销码关联到刚才创建的优惠券C即可,这样所有拿到R的客户都能使用,但每个客户只能用一次。

  • 结账会话的配合
    当你为产品P创建结账会话时,确保会话允许使用促销码(默认是允许的)。如果你的系统有自己的用户体系,建议在创建结账会话时明确关联对应的Stripe客户ID——这样即使用户更换邮箱或付款方式,Stripe也能精准识别用户身份,避免重复兑换。如果是匿名用户,Stripe会通过邮箱、付款方式等信息自动关联到同一客户记录,也能实现限制效果。

效果验证:
U1使用促销码R完成产品P的购买后,Stripe会记录该客户已兑换过优惠券C,后续U1再次尝试使用R时会被拒绝;而U2、U3首次使用R时可以正常享受折扣,直到优惠券的总兑换次数达到设置的上限(示例中的3次)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:17:37