秒杀更新:名额(库存)扣减口径修复,去支付一键直达微信支付
一句话结论:秒杀把名额(库存)的扣减口径彻底统一了:助力关闭按报名人数扣、在线收款只算已付款、真正付款那一刻再抢一次名额(先付先得),再也不会出现「只剩 300 份却一直不减」或「额度被点了报名却没付钱的人占死」;「去支付」也改成一次点击直接拉起微信支付,中间不再夹订阅消息弹窗。
更新了什么
这次动的是秒杀两件最卡脖子的事:名额到底怎么扣,以及用户从报名到付款要按几次。
| 项 | 更新前 | 更新后 |
|---|---|---|
| 名额扣减(关闭助力) | 一律按「助力达标人数」统计。关掉助力后没人走助力、达标人数恒为 0,已占用永远 0,剩余名额永不减少,设的 N 份等于失效 | 关闭助力 = 报名即秒杀成功,按报名人数占用名额,一人一份 |
| 名额扣减(在线收款) | 报名就占名额,点了报名没付钱的人也把额度占死,商家一分钱收不到、真付款的人反而进不来 | 只统计已付款的人,未付款报名不占名额 |
| 付款关卡 | 付款接口不看名额,名额满了照样能付 | 付款前再抢一次名额,满了直接拒绝并提示「名额已抢完」,先付先得、不扣款 |
| 后台「已完成 X 份」 | 按助力达标人数统计,关闭助力时恒显示 0 份 | 与小程序端同一口径(报名人数 / 已付款人数) |
| 去支付按钮 | 固定文案「秒杀成功,去付款」,点了才判断名额 | 有名额显示「秒杀成功,去付款」,名额抢完直接显示「名额已抢完」,点了只弹提示、不拉支付 |
| 报名 → 付款 | 报名成功后回活动页,还要再点一次「秒杀成功,去付款」 | 报名成功后直接拉起微信支付,一次点击走完 |
名额现在怎么扣
| 活动设置 | 谁占名额 | 说明 |
|---|---|---|
| 助力开启 | 助力达标的人 | 集齐助力才算抢到名额,光报名不占,先报名不锁名额 |
| 助力关闭 + 到店付款 | 报名的人 | 报名即秒杀成功,一人占一份,到店再付款 |
| 助力关闭 + 在线收款 | 已付款的人 | 报名不占名额;付款那一刻按「已付款笔数」抢名额,满了就付不了 |
剩余名额 = 商家设置的商品份数 − 已占用名额;剩余为 0 时报名接口直接返回「活动已结束」,不会先让用户填表再拦。后台编辑页、小程序活动页、付款接口三处用的是同一套口径,不会出现「后台说没份了、小程序还能抢」的对不上。
去支付这条链路改了什么
- 按钮文案跟名额走:还有名额是「秒杀成功,去付款」,名额抢完变成「名额已抢完」;
- 点之前先看名额:名额为 0 时只弹一句「名额已抢完」,不去拉起支付,省得白跑一趟微信支付又失败;
- 报名弹窗里的「去支付」一次到位:必填校验通过 → 提交报名 → 报名成功后立刻拉起微信支付,不再跳回活动页让用户再点一次;
- 订阅消息挪到付款之后:微信的「允许订阅」弹窗要再点一次,夹在中间会挡住付款,所以这条路径先不弹,等支付成功后再补一次请求(失败也不影响付款和订单);
- 支付结果说得更清楚:成功提示「支付成功」;用户自己取消提示「已取消支付」而不是「交易失败」;失败提示「支付失败,请重试」;网络断开提示「网络异常,请重试」;
- 提示看得见才刷新:支付回调后先让提示显示约 0.7 秒,再重载页面刷新支付状态,不再是「一闪而过」;
- 顺带修掉一句多余弹窗:秒杀页进页面时不会再莫名弹「该活动无需助力」(秒杀不参与其它玩法那套自动补登记)。
用户端会看到什么
| 情况 | 页面表现 |
|---|---|
| 还有名额、已报名未付款 | 按钮「秒杀成功,去付款」,点一下直接进微信支付 |
| 名额已抢完 | 按钮「名额已抢完」,点了只弹提示,不会进支付 |
| 报名时名额刚好被抢完 | 提交报名返回「活动已结束」,不生成报名记录 |
| 付款时名额刚好被抢完 | 提示「名额已抢完」,不会扣款 |
| 支付中途取消 | 提示「已取消支付」,回到活动页按钮仍可再点一次 |
| 已付款 | 不再显示去付款,直接走兑换 / 核销流程 |
怎么用
- 小程序「作品」里找到秒杀活动,点编辑进入配置页;
- 把商品份数填成这次真正要放出的量,这个数字就是名额上限;
- 看助力开关:开着表示「集齐助力才抢到名额」;关掉表示「报名即成功,一人一份」。两种模式下名额都按真实数据扣;
- 看收款方式:选「在线收款」时名额只算已付款的人,适合先收钱的场景;选「到店付款」时名额按报名扣,适合现场核销;
- 保存后立即按新口径统计,活动页的「仅剩 X 份」和电脑版编辑页的「已完成 X 份」会是同一份数据;
- 名额不够时,回到编辑页把份数改大再保存即可继续放量。
适合什么场景
- 限量抢购:N 份就是 N 份,报名人数再多也不会超发;
- 在线收款的名额活动:以付款为准,避免「手快点了报名却没付钱」的人把名额占住;
- 到店核销的秒杀:报名即占名额,现场按兑换码核销,先到先得。
注意事项
- 在线收款 + 限量 = 先付先得。两个人同时付款时只有先成功的那笔占名额,另一笔会被拦下且不扣款;
- 未付款的报名不占名额,但仍会出现在报名名单里(便于商家跟进催付);
- 口径修复后,老活动第一次打开可能看到「剩余名额比昨天少」,这是回到真实值,不是名额丢了;
- 商品份数请填 ≥ 1 的整数;填 0 会被当成没有名额,报名直接被拦。
在哪里体验
小程序打开秒杀活动 → 点「立即抢购报名」→ 直接进入微信支付;名额抢完后按钮会变成「名额已抢完」。电脑版「作品 → 编辑秒杀」里的「已完成 X 份」与小程序口径一致。线上版本自动生效,参与用户无需升级小程序。
常见问题
Q: 为什么我设的名额一直不减(以前的表现)?
A: 旧逻辑不看助力开关,一律按「助力达标人数」统计;关掉助力后没人能达标,已占用永远是 0。现在关闭助力按报名人数扣、在线收款按已付款扣,名额才会正常往下走。
Q: 在线收款时,用户报了名但没付款,会占名额吗?
A: 不占。名额只算已付款的人;未付款的报名保留在名单里,付了款才正式占位。
Q: 两个人同时付款会不会超卖?
A: 不会。付款接口在下单前会统计已付款笔数,达到份数就拒绝下单并提示「名额已抢完」,这一笔不会扣款。
Q: 报名后为什么直接跳到微信支付了?
A: 秒杀报名即成功,为了省掉「回活动页再点一次去付款」这一跳,报名成功后直接拉起支付。如果中途取消,回到活动页按钮仍是「秒杀成功,去付款」,可以再点。
Q: 「开抢提醒」的订阅弹窗去哪了?
A: 为了不挡住付款,这个订阅请求挪到了支付成功之后补发。它属于可选动作,拒绝或不响应都不影响下单与付款。


