发布及核验日期:2026-09-24。适用范围:依据公开文档审查 Stripe 托管式 Checkout 的可选商品配置。账户资格和地区可用性需另行确认;本文不是实账户测试、PayIn 功能声明,也不承诺提升收入。
1. 先确认附加商品是否真的可以不买
基础订阅加上可选支持服务,与必须支付的开通费,是两种不同的配置决策。Stripe 的 optional_items 允许客户在结账时添加配套商品,每个选项指定 Price 和数量。即使配置的数量或可调整数量下限大于零,客户仍然可以移除可选商品。[1]
编辑建议:先给每个候选商品写明“客户可拒绝”。如果业务要求必须购买,就不要借助正数下限把可选项伪装成必选项。本文重点是可选报价的使用条件及 Session 商品条目容量,不重复讲解库存预留、最终数量履约或首张账单开通费的会计处理。
2. 先看模式和界面,再挑选推荐商品
可选商品不支持 setup 模式;payment 模式不支持周期性可选商品。创建 Session 的 API 还明确指出:当 ui_mode 为 custom 时,不能设置 optional_items。[1][2]
建议审查顺序是:确认实际使用的 Checkout 界面,记录 Session 模式,再把每个候选 Price 分类为一次性或周期性。不要因为另一份文档也叫 Checkout,就假定两者支持相同参数。本文读取的是官方完整托管页面版本;可选商品文档的入口地址实际返回多版本索引,不是完整操作说明。切换界面时应重新阅读对应版本及当前 API 约定。
3. 兼容性检查必须覆盖基础购物车
Stripe 不支持使用自定义金额的可选商品;如果普通商品条目使用自定义金额,也不支持加入可选商品。如果某个普通条目配置了订阅升级销售,则不支持周期性可选商品。周期性可选商品的计费周期还必须与周期性普通商品匹配。[1]
这些限制不能靠减少购买数量解决。建议在商品筛选阶段就排除“月付基础服务搭配年付周期性可选服务”,不要期待结账页面自动协调不同周期。也应检查基础购物车是否包含自定义金额或订阅升级配置;只检查附加商品的 Price 不够。保存排除原因,客服才能区分“配置不兼容”和“商品未建档”。
4. 同时检查可选项数量与合并条目上限
每个 Session 最多允许 10 个可选商品,但这不是普通购物车限额之外额外赠送的 10 个位置。付款模式中,普通商品与可选商品合计最多 100 个条目。订阅模式中,两者合并后的周期性 Price 条目最多 20 个,一次性 Price 条目另有 20 个上限。[2]
应在客户选择之前计算整个报价配置。API 限制的是普通条目与可选条目的合并数量,并没有规定等客户实际勾选后才计算。[2] 以下仅为按文档上限推导的算术示例,不是已经运行的请求:
- 付款模式:95 个普通条目加 5 个可选条目达到 100;再添加第 6 个可选条目就超出合并上限。
- 付款模式:1 个普通条目加 11 个可选条目虽然不足 100,仍然超过可选项自身上限。
- 订阅模式:18 个周期性普通条目加 2 个周期性可选条目达到 20;再增加一个就超出该类别上限。
- 一次性条目尚有剩余容量,不能抵扣周期性条目的超额部分。
建议服务端分别计算可选条目数、合并后的周期性条目数和一次性条目数,再按模式执行校验。这里计算的是配置条目,不是把购买件数相加;一个数量为五的选项不等于五个不同选项。通过数量校验仅说明未超过这些数字上限,不代表账户资格、价格兼容性等条件已经全部满足。
5. 显式可选项与目录交叉销售要分开管理
Stripe 明确说明:创建带有可选商品的 Checkout Session 后,Product catalog 中配置的交叉销售推荐不会显示。文档也介绍了另一条路径:将配套商品关联为交叉销售商品,在包含基础商品的符合条件的 Session 中推荐。[1]
因此,建议把 Session 显式配置与商品目录推荐视为两条不同的管理路径,而不是默认叠加的两个推荐层。如果引入 optional_items 后熟悉的推荐消失,应先检查这一行为,而不是直接判断为目录缓存异常。记录由哪条路径决定展示哪些商品,以及谁有权限批准替换或移除推荐。
6. 发布前检查边界,而不是只看正常示例
以下是建议的沙盒检查,并未在本文研究中执行:创建符合条件的托管式一次性购物车,加入可选配件;分别拒绝、添加、移除该配件;检查正数下限是否被误当成强制购买条件。随后检查 10 与 11 个可选条目、付款模式合并数量边界,以及订阅模式两个类别各自的边界。负面案例应包含自定义金额基础条目、付款模式中的周期性选项、计费周期不匹配及订阅升级冲突。
记录界面、模式、Price 类型、排除原因和条目计数。不要把数值校验成功等同于整个集成已经通过,也不要臆造接口错误文案。此次针对该窄问题进行了公开搜索,但检索访问限制和不相关结果使独立社区需求未能得到核实。选题依据是官方文档中的具体集成决策,不是搜索量、采用率或收入增长的估计。
来源与日期
官方文档核验日期为 2026-09-24;未确认发布日期或更新日期。本次文档研究不证明特定账户或地区具备使用资格。
- [1] https://docs.stripe.com/payments/checkout/optional-items?payment-ui=stripe-hosted — Configure optional items — full hosted page
- [2] https://docs.stripe.com/api/checkout/sessions/create — Create a Checkout Session