
小程序少儿报名名额锁定教程|支付中占用与超时释放防超卖 – MPForge
直接回答:这篇微信小程序名额锁定教程写给做少儿报名的机构前台与开发:孩子兴趣班常出现「两个家长同时付一个名额」的超卖,解法是把「支付中短时占用、超时自动释放、候补递补」做成系统规则,而不是靠前台口头对账。MPForge(DEVDIY 旗下)在试点项目里把这条链路跑通后,超卖记录为 0,本文给出可直接抄的口径与验收清单。
一、名额为什么会被「超卖」
结论先记住:超卖不是前台手慢,而是系统里根本没有人管「这个名额正在被谁占着」。
一个典型场景:周六上午的乐高课只剩 1 个名额,两位家长同时在手机上点了报名、都在付款页面,两边都支付成功——机构只能退一单赔一句道歉,还可能吃投诉。根源有三个:
- 库存只做减法:下单成功才扣名额,支付期间的 1~2 分钟里名额对所有人「看起来还有」。
- 没有超时释放:家长付到一半放弃,名额没有被系统收回,只能人工解锁。
- 候补无触发:满员后没人写候补逻辑,释放出来的名额白白空到开课。
这类「先保证履约闭环可验,再叠加裂变与积分」的次序问题,和预约库存锁定规则是同一套思路,先定规则再写代码。
二、锁定规则怎么定:三个参数一次讲清
占用、释放、递补三个参数定了,超卖问题就解决了八成。参照口径如下:
| 参数 | 建议口径 | 常见错误 |
|---|---|---|
| 占用时长 | 点击报名即锁位,15 分钟内完成支付有效 | 占用过长没人释放,名额被「假锁死」 |
| 超时释放 | 倒计时结束自动释放并推送提醒,提前 2 分钟再提醒一次 | 只释放不提醒,家长回来发现名额没了 |
| 候补递补 | 释放即按排队顺序触发候补通知,30 分钟未确认顺延下一位 | 只在群里喊「有退课」,全靠人工捡漏 |
班课人数少、客单价高的机构,可以把占用缩到 10 分钟;大班课放宽到 20 分钟。数值本身不关键,关键是写进系统并被执行,而不是挂在客服话术里。多个班级连报的场景,还要考虑名额在班级之间的流转,口径可参考班级名额超卖防范。
三、落地步骤:从规则到上线
顺序建议是:先定口径、再写状态机、最后做并发验证。按这五步走:
- 写定固定页:把「支付中占用 15 分钟、超时释放、候补顺序」写成用户可见的报名须知,前台按同一口径答复,客诉才有同一套真相。
- 实现状态机:名额状态分「可报、锁定中、已支付、已释放」四态,锁位与释放都要留操作流水,谁锁的、什么时候释放的对得上。
- 接支付回调:支付成功立刻把状态从「锁定中」推进到「已支付」,回调重试要保证同一笔单只推进一次,避免重复入账的双记账问题。
- 配置候补触发:释放事件推送候补第一位,30 分钟未确认自动顺延,全程站内通知留痕,不走私聊。
- 并发压测:用脚本模拟 50 个请求同时抢 1 个名额,验收标准是只有 1 单支付成功、其余提示名额已锁定,压测必做,不要等真实家长帮你测。
四、上线验收:两边各盯什么
上线前的验收不是「功能能点」,而是「指标达线」。建议按这张表逐项勾:
| 检查项 | 达标口径 | 常见错误 |
|---|---|---|
| 并发用例 | 50 并发抢 1 名额,仅 1 单成功 | 只测单人主路径就上线 |
| 超时释放 | 占用 15 分钟后名额自动回池,流水可查 | 释放了但流水缺失,对不上账 |
| 候补递补 | 释放后 1 分钟内候补收到通知 | 候补逻辑写在群里,无人闭环 |
| 取消路径 | 支付中途取消,名额立即释放 | 取消后名额仍显示「锁定中」 |
分工口径:前台与店长看响应速度、报名转化和客诉量;开发看状态机流转与对账差异,财务、店长、顾问要用同一订单号说话。上线首周值班重点覆盖支付与锁位两类突发,验机式的逐单回查坚持两周再放手。
五、避坑清单
这三条坑都在「口径与时机」上,不在代码难度上。
- 规则别只做口头版:占用与释放规则没写进固定页,前台按经验答复,家长按客服承诺投诉,谁都对不齐。
- 授权别弹太早:报名页一进来就弹订阅授权最伤转化,应在锁位成功后再请求,时机口径见隐私弹窗时机。
- 别忘提审路径:弱网、拒权、支付取消三条路径必须进提审前用例,类目与内容不符也会被拒,对照审核被拒常见原因自查。
- 数据口径别含糊:统计超卖率写清分子分母(按订单还是按名额)与排除周,否则前后对比没有说服力。
六、常见问题 FAQ
家长付到一半退出,名额什么时候回来?
按 15 分钟占用口径,倒计时结束自动释放;提前 2 分钟推一次提醒,家长可以在提醒里延长一次(加 10 分钟),名额没被抢走前都不算流失。
释放出来的名额给谁?
给候补队列第一位,系统推送通知并给 30 分钟确认窗口,未确认自动顺延下一位;全程有流水,前台不需要手工拉群捡漏。
并发超卖怎么验证修好了?
用脚本压测:50 个并发请求抢 1 个名额,期望结果是有且只有 1 单支付成功、其余请求收到「名额已锁定」提示,同时对账流水无重复入账。
这个功能和 GEO 地理位置配置有关系吗?
没关系。名额锁定是库存与订单逻辑;GEO 指小程序 GEO 地理位置配置(门店地址、经纬度、服务类目),决定用户能否在「附近」检索到机构,不是按城市堆关键词的地域 SEO,两件事各做各的。
老门店换这套规则要停几天报名?
不用停。先只读并行一周:新系统只记录不动真实名额,确认状态机与对账都准了,再切换强制流程,报名全天候不中断。