EN
页面模块 · 指南

订阅与预售条款摘要模块

订阅与预售条款摘要模块在购买按钮之前展示扣款时间与金额、发货时间、续订周期、暂停与取消方式,以及预售的预计发货与延迟处理,要求摘要来自正式条款、不比条款更宽、与购物车和结账一致,没有真实履约条件时整块删除。

订阅与预售条款摘要模块在顾客点击购买之前,把这笔交易“现在扣多少、之后什么时候再扣多少、多久发货、想停怎么停”用一屏可读的摘要说清楚。它不是政策页的复制,也不是折扣文案旁边的小字:它是正式条款的短版,出错的后果是顾客被扣了没有预期的钱。

条款摘要 = 计划与正式条款 × 摘要展现 × 购买区位置 × 与结账一致

先确定模块在完成什么任务

  • 顾客问题:我现在付多少;之后每次付多少、什么时候扣;多久发货,预售最早什么时候;价格会不会变;我怎么暂停、跳过、取消;预售发不了货怎么办。
  • 对象层级:条款属于销售计划作用于变体之后的结果,不属于商品。同一商品的一次性购买与订阅并存时,各自有各自的条款,选中哪一个就显示哪一个。订阅(周期扣款、周期发货)、预售(一次性、货未到)与缺货预订(库存为零仍可购买,见库存状态与到货通知)是三种不同交易,不共用一段文案。
  • 进入前已知:当前变体、所选或必选的计划、买家市场与币种、已有的正式条款版本。

本模块只负责“条款摘要的内容、位置与状态”。计划选择进入加购请求归购买区,加购后的核对归购物车摘要,页面级组成见预售与订阅商品页配方。

信息来源与输入

输入来源最低要求
现在应付的金额与时点平台状态(销售计划分配与结账收款)取自平台,不在文案里自算;写明币种与是否含税运费按结账为准
之后每次扣款额、周期与扣款时点平台状态 + 计划配置写“每几周或几个月一次、哪一天前后扣款”;价格变化时说明何时变、变多少
折扣与适用期数平台状态(计划价格调整)折扣只适用前几期时写明期数,不写成永久折扣
发货时间(订阅首单、预售)业务记录(生产或到货计划)有真实计划才写日期或区间;没有就删除预售,不写“预计尽快发货”
暂停、跳过、取消方式正式条款 + 真实可用的入口写入口位置与生效时点;入口不存在就不应上线该计划
预售延迟与取消处理正式条款超过预计时间后顾客可以怎么办(等待、改期、取消退款),谁负责通知
退换与保证保证详情摘要与正式条款一致,预售与现货分开写
配送范围与时效配送信息预售与现货分开写,与结账一致
正式条款链接、版本与生效日期政策页摘要可点进完整条款;摘要只引用固定版本

价格、结账收款、扣款周期、计划名称与预计发货日期都是运行时事实或有时效的业务事实,不得写成静态段落,否则改价、改期后与结账矛盾。

摘要必备项

摘要项订阅预售缺失时
现在付多少必写必写(含全额、部分或暂不收款)不上线
之后付多少、何时付必写有后续收款时必写不上线
周期与续订必写,含是否自动续订不适用不上线
价格是否会变必写不适用写“价格以订阅时为准”须有条款支撑,否则不写
发货时间首单与后续各写必写,预计区间预售无真实计划时删除预售
暂停、跳过、取消必写入口与时点必写取消规则不上线
延迟处理可选必写不上线预售
正式条款与保证入口必写必写补条款再上线

摘要不得比正式条款更宽。 摘要写“随时取消”,条款却有最短期限或需提前若干天申请,就是摘要比条款宽;摘要写“无忧退款”而条款有条件与排除项,同理。发现二者不一致时,改摘要或改条款,不留着不一致的状态发布。同一原则见保证详情:摘要必须能追溯到完整条款。

披露真实性与合规

以下是读到的官方要点,只覆盖美国,不是法律意见,各市场需要合规确认:

  • FTC 关于 ROSCA 的法规摘要页写明,该法禁止在没有清楚披露全部关键条款、也没有取得消费者明确知情同意的情况下,对互联网交易向金融账户收费(该页面的摘要以“交易后第三方卖家”为对象)。FTC 2014 年 7 月的业务指南博客把要求概括为三点:在获取账单信息前清楚、显著地披露全部关键条款;收费前取得明确知情同意;提供简单的停止续费方式。
  • 据此,本模块把关键条款放在购买按钮之前、与价格同屏,而不是页面末尾、悬停提示或折叠深处;停止续费的入口要真实存在。
  • FTC 相关规则的现行状态与各国自动续费、预售与冷静期规则本次未读原文,需要法务或合规确认。
  • 倒计时式“限时预售”“仅剩名额”属于高风险模式,无真实截止时间或名额规则时不使用,真实性红线见 Countdown Timer。

状态与退化

状态处理
零项(商品没有销售计划)不渲染本模块,页面退回标准购买区,不留空标题
一项(单一必选计划)不设选择器,直接在购买区下方写这条计划的摘要;不显示一次性购买
多项(一次性购买加多个计划)摘要随当前选中的方式切换;未选计划时显示一次性购买的条款(若允许一次性购买),不提前套用订阅条款
加载切换变体或计划时摘要进入更新状态并禁用提交,不沿用上一个变体的发货日期与金额
错误加购被拒时保留所选计划并说明原因,摘要不改;摘要数据读取失败时不显示金额,写“条款以结账页为准”并禁用该计划的购买
过期预计发货日期已过、计划已下线或条款版本更新,撤下旧摘要,按新版本重新读取
不可用变体没有该计划时隐藏摘要并说明,不显示其他变体的条款
跨市场币种、扣款额、配送范围与发货时间随市场变化;没有该市场数据时不展示其他市场的条款
无 JavaScript摘要随页面服务端渲染当前默认状态;计划选择走表单提交,切换后条款随刷新更新

可选展现与交互

  • 有序短列表或 Timeline:“今天付、发货、下次扣款、可暂停”这类有先后的时点,适合放在购买区内;只有一两个时点时用一两句话,不做时间线。
  • Table:一次性购买与订阅并列比较价格、周期与取消方式时使用,行列表头需程序可识别。
  • Accordion:只放完整条款与次要细节,摘要本身必须先于折叠可见。
  • Sticky Bar:吸底加购栏必须显示所选计划名与本次应付金额,并提供跳转到摘要的锚点;不要让顾客只经吸底栏下单而从未看到摘要。
  • 禁用条件:不用 Popover 承载关键条款(扣款额、周期、取消方式),它们必须直接可见;不用倒计时催促预售。

页面组合中的位置

  • 常见位置:商品页购买区之内,紧邻价格与计划选择器,位于购买按钮之前;预售与订阅商品页的组成见预售与订阅商品页配方。
  • 前后模块:前接购买区的价格与计划选择,后接取消、退换与配送入口;购物车中的计划行见购物车摘要。
  • 不应出现的语境:没有销售计划的普通商品页;缺货预订(库存策略允许继续购买)的商品,它们走库存状态词表;与倒计时组合成“限时加限量”的压迫式排版。

与结账一致

摘要里的每一项都要能在结账与订单中找到对应:金额、周期、计划名称、发货时间、取消入口。发布前用固定的商品、变体、计划和地区,依次对照商品页摘要、购物车行、结账页、订单页与确认邮件;任何一处金额、周期或时点不一致,先修配置或文案,再发布。

  • Shopify 政策设置页写明,使用应用提供商品订阅时,如果设置里的 Purchase options cancellation policy 为空,会向顾客显示一份生成的模板,并以文字 Subscription policy 链接到结账页。所以“摘要写了取消条款、结账里链的却是默认模板”是一个真实存在的不一致风险,需要检查该设置是否已按品牌条款填写。
  • 结账页与确认邮件中条款的实际展示位置与措辞本次没有读到官方说明,未核验。

无障碍与性能

  • 提交购买涉及财务交易,WCAG 2.2 SC 3.3.4 Error Prevention (Legal, Financial, Data)(AA)要求提交可撤销、数据经检查,或提供复核与确认的机制;摘要在购买按钮之前并可回看,是满足“可复核”的一部分,但该 SC 的满足方式不只这一种。
  • 计划或变体切换导致摘要变化时,通过状态消息告知,不移动焦点(SC 4.1.3 Status Messages,AA)。
  • 表格与并列比较需要程序可识别的表头关系(SC 1.3.1 Info and Relationships,A);所有控件可用键盘完成(SC 2.1.1 Keyboard,A)。
  • 金额、周期与取消入口不只靠颜色或图标表达;摘要文字可复制、可缩放,不作图片。
  • 摘要随计划切换只请求必要数据,取消过期请求。

映射到 Shopify

核验于 2026-09-29,来自 shopify.dev 与 help.shopify.com 官方页面,只写页面所写;部分页面经工具摘要读取。销售计划整体机制见销售计划。

摘要项官方页面所写
现在付多少selling_plan.checkout_charge 含 value 与 value_type,value_type 为 percentage(原价的百分比)或 price(以币种最小单位表示的实付金额);订阅指南写明订阅始终是 percentage 与 100。selling_plan_allocation.checkout_charge_amount 是下单时应付金额,remaining_balance_charge_amount 是剩余应付金额,均为币种最小单位与展示币种
每次配送价selling_plan_allocation.per_delivery_price 为计划中每次配送的价格,页面写明适用时按总价与配送次数计算;price 是分配后的价格,compare_at_price 是未应用计划的行项目价格
折扣与期数selling_plan.price_adjustments 最多两项,无调整为空;每项有 order_count(适用的订单数)、position、value、value_type(percentage、fixed_amount 或 price);分配上的同名数组给出对应金额
是否周期配送selling_plan.recurring_deliveries 为真表示多次配送;name、description 与 options 描述计划,name 与 group_id 页面写明在结账的行项目摘要中显示
必选计划主题指南写明 product.requires_selling_plan 决定是否允许一次性购买;表单内用 name="selling_plan" 的输入保存所选计划
购物车与订单主题指南写明用 line_item.selling_plan_allocation.selling_plan.name 在购物车与订单页显示计划名;line_item 页面写明经订单行项目引用时,compare_at_price、price_adjustments、selling_plan.group_id、selling_plan.options、selling_plan.price_adjustments 与 selling_plan_group_id 不可用,建议改用 selling_plan.name
预购帮助中心写明预购需从 Shopify App Store 安装预购应用,可在下单时收取全额、部分或不收款,付款方式保存后用于后续收款,目前仅适用于使用 Shopify Payments 或 PayPal Express 的商家;页面没有写预计发货日期的展示、延迟处理与取消流程,未核验
预购主题要求预购与试用指南写明要向顾客显示所选计划名与结账收款额,并可用 Ajax Cart API 修改或移除计划;指南没有讨论每次配送价、剩余款或配送计划
暂停与取消Shopify Subscriptions 页写明顾客登录客户账户后可以恢复、跳过或取消订阅,并管理付款方式与配送地址;这只属于 Shopify Subscriptions,其他订阅应用的入口与条款展示未核验
政策与模板政策设置页写明可添加 Subscription policy 等书面政策,政策链接列在结账页页脚;订阅取消政策为空时的模板行为见上文

主题层面的销售计划选择器与条款展示不在此断言:Dawn 与 Horizon 是否内置销售计划选择器见购买区「固定版本主题实现」的结论,购买流程见 Horizon 购买流程。购物车行的展示见购物车摘要,验证记录用购买验证。

未核验:结账页与确认邮件中条款的展示位置;预购应用的延迟与取消流程;动态结账按钮与销售计划、缺货预订的组合行为;订阅应用之间条款字段的差异。

预售无真实履约条件时应删除

出现下列任一情况,删除预售计划与本模块,页面退回标准商品页(缺货则改为售罄加到货通知):

  • 没有可兑现的发货时间窗口或到货计划;
  • 没有可执行的延迟、取消与退款处理规则;
  • 没有可用的订阅暂停与取消入口;
  • 库存或生产计划无法覆盖已开放的预售数量;
  • 支付网关或预购应用不满足 Shopify 页面所写的前提。

“预计 X 月发货”写了却没有依据,比不写更糟:它是一个会被检验的承诺,不是氛围文案。

验证一次订阅与预售条款摘要

  1. 对每个变体逐个选择一次性购买与各计划,摘要的金额、周期与发货时间随之切换;变体没有计划时摘要隐藏。
  2. 把摘要每一项与正式条款、保证详情、配送信息逐条比对,确认摘要没有比条款更宽的措辞。
  3. 加购后依次核对购物车行、结账页、订单页与确认邮件:计划名、金额、周期、发货时间一致;订单页只依赖 selling_plan.name 时是否缺信息。
  4. 更换买家地区与币种,检查金额、配送范围与发货时间;没有该市场数据时是否不显示其他市场条款。
  5. 快速切换变体后立即加购,确认提交的计划与所见摘要一致。
  6. 用真实的测试订单走完暂停、跳过或取消,记录入口位置与结果;预售订单模拟延迟,核对条款中的处理是否可执行。
  7. 检查“Purchase options cancellation policy”是否已填写,结账里的 Subscription policy 链接指向的是品牌条款。
  8. 仅用键盘与读屏软件走完选择计划到下单,检查摘要变化是否被朗读;关闭 JavaScript 后摘要仍随页面显示。

记录变体、计划、地区、条款版本与各页面的实际显示,避免不同时间的截图互相比对。

待继续完善

  • 缺少测试店铺实测:购物车、结账与确认邮件中条款展示、订阅应用之间的字段差异;
  • 美国以外市场的自动续费、预售与冷静期规则未读,FTC 规则现行状态未核验,需要法务或合规确认;
  • 预购的延迟处理与取消流程官方页面未写;
  • 缺少带虚构数据的条款摘要样稿。