页面模块 · 指南
促销兑现模块:从优惠承诺到购物车结果
促销兑现模块如何连接活动文案、优惠代码、资格判断和购物车金额反馈,区分复制、提交、适用与最终生效,并覆盖无效、重复和条件不满足等状态。
促销兑现模块负责证明页面承诺的优惠是否真正进入购买结果。它可以从活动页、商品页或购物车开始,但必须把“看到优惠”“复制代码”“提交代码”和“金额已经改变”视为不同状态。
促销兑现 = 优惠承诺 × 当前资格 × 提交动作 × 平台结果 × 金额反馈
复制按钮成功只表示代码进入剪贴板;表单提交成功只表示请求完成;只有平台确认适用并且相关价格或权益按规则更新,才能向顾客表达优惠已经生效。
承诺和执行需要共享条件
促销正文应明确利益、代码或自动应用方式、商品范围、门槛、市场、顾客资格、有效期和叠加规则。兑现模块读取同一组条件,并在当前购物车环境中解释结果。
| 阶段 | 顾客看到什么 | 系统需要确认什么 |
|---|---|---|
| 发现 | 优惠内容和适用条件 | 文案与当前活动规则一致 |
| 获取 | 可复制代码或自动应用说明 | 代码完整,复制有明确反馈 |
| 提交 | 输入、应用和加载状态 | 避免重复提交并保留当前上下文 |
| 判定 | 已应用或不能应用的原因 | 平台返回的适用状态和条件 |
| 兑现 | 折扣项、节省额或其他权益 | 金额、币种、商品和资格与规则一致 |
必须单独处理的结果
- 代码不存在、已过期或格式无效;
- 代码有效,但当前商品、数量、金额、市场或顾客不符合条件;
- 同一个代码已经应用,重复提交不应制造第二次成功;
- 优惠可与现有折扣叠加、替换现有折扣或被现有规则阻止;
- 优惠作用于配送等后续步骤,当前购物车暂时无法显示最终结果;
- 请求失败或连接中断,结果未知,不能清空顾客输入后假装完成。
错误信息应说明顾客下一步能做什么。无法确定具体原因时,表达“当前未应用”比猜测规则更准确。
页面组合中的位置
活动页负责解释优惠与商品,商品页可以提示与当前商品有关的条件,购物车则承担最终提交和金额反馈。三处可以引用同一促销内容,但不要复制三套会独立过期的规则正文。
优惠码模块通常与订单摘要、商品行项目和结账行动相邻。金额更新后,应同时刷新所有可见的购物车入口;如果购物车页和抽屉并存,两处不能长期显示不同状态。
交互、无障碍与性能
- 复制、应用和移除使用明确的按钮文字,成功状态不能只靠颜色;
- 提交期间阻止重复请求,并保留可理解的加载反馈;
- 错误信息与输入建立关联,动态结果能被辅助技术感知;
- 移除优惠后恢复金额,并说明其他折扣是否仍然存在;
- 页面刷新或返回购物车后,根据平台状态重建界面,不依赖旧的前端成功标记;
- 应用或移除后可以只刷新受影响的购物车区域,但显示的金额必须来自平台返回的最新结果,不在前端自行重算折扣。
映射到 Shopify
Shopify 实现需要分别读取购物车折扣应用、行项目折扣和金额结果,再根据所采用的提交方式更新购物车。Theme 中的复制按钮、输入表单和局部刷新只是交互层;折扣的创建、资格和组合规则不由 Theme 决定。
验证一次促销兑现
至少覆盖有效代码、无效代码、重复代码、条件不足、移除后恢复和请求失败。每次记录活动条件、购物车内容、提交输入、平台响应、刷新后的折扣项与最终金额。跨市场或币种活动还要固定买家地区与币种,避免把不同上下文的金额拿来比较。
平台正文
该机制的权威平台说明见 折扣;本文只写在当前内容或页面语境下的用法。