全行业小程序/公众号定制开发 · 当天出DEMO · 不满意随时退 · 24小时接单
获取报价
微信小程序核销码生成教程,店员用手机核验顾客出示的核销码 MPForge

微信小程序核销码生成与失效|动态码、有效期与防重放设计 – MPForge

直接回答:会员把核销码截图发到群里,第二天被人冒用——这类事故几乎都指向同一个缺陷:静态长时效码。这篇微信小程序核销码生成与失效教程给商家与开发讲清动态码怎么生成、TTL 怎么设、重试怎么做、门店权限怎么隔离,附防重放与对账口径。MPForge(DEVDIY 旗下)按这套口径处理核销安全。

60 秒 TTL动态码刷新周期,截屏即失效的底气
1 码 1 次核销幂等设计,同一码只兑一次
2 层校验码面校验加服务端验签,伪造直接拦
0 共用店员账号按门店授权,跨店核销须开白

一、为什么不能一张码用到底:从截图盗用说起

先记结论:静态码加长时效,等于把核销凭证公开在聊天记录里。

典型事故链:客人把会员卡里的核销码截图发进团购群求拼单;群友保存图片,隔天到店出示;店员扫过,系统判定有效——因为这张码三天不过期、没绑定出示动作。追责时店员说码是对的,客人说码被偷了,系统里没有任何证据指向「出示那一刻」。

问题的根源不是店员粗心,而是码没有时间性、没有绑定关系。核销安全要靠「动态码 + 服务端校验」组合解决,详细攻防口径另见核销码安全;本文聚焦生成与失效这一段怎么做。

二、动态码与 TTL:生成与失效的口径

码的时效越短,截图的价值越低。生成侧三个口径:

设计项 达标口径 常见错误
码体形式 动态刷新的码面,TTL 60 秒左右自动轮换 长期静态码,三天一换都嫌烦
码体内容 带签名与订单绑定关系,不裸传明文权益 码里直接拼 ID,改参数就冒领
失效规则 过期、已核销、订单关闭三种状态即时失效 只做过期,漏了已核销后的重放

签名与防篡改用平台加解密能力实现,接口要点见小程序加解密接口。客人端展示时加一层「正在刷新」的动效,既提示时效也顺带教育客人:这码是活的,截图没用。

三、核销动作与重试:五步落地

核销要「码对、人对、店对」三对齐,再谈重试。按五步做:

  1. 出示动态码:客人打开卡券页,前端按 TTL 定时拉新码,进入页面即刷新一次。
  2. 店员扫码:店员用核销端扫码,先本地校验格式与时效,再请求服务端验签。
  3. 服务端验签核销:验签通过后按订单幂等核销,同一码第二次请求直接拒绝并返回已核销状态。
  4. 失败重试口径:网络超时按同一核销请求号重试,服务端幂等去重,不会把一次核销算成两次;重试实现见请求重试。
  5. 流水留痕:核销成功的门店、店员、时间写入流水,补改口径按核销流水补改执行,月底对账见优惠券核销对账。

四、门店权限与防伪造:把冒用挡在店外

码防住了,还要防「店」和「人」这两个环节。

风险 拦截口径 误伤处理
越店核销 店员账号绑定门店,核销请求带门店号,跨店须白名单 连锁巡店场景由总部开临时授权
伪造码面 服务端验签不过直接拒绝,前端只做格式预检 把验签逻辑写在客户端,被绕过
权限共用 一人一号,离职当日停用,账号不共用 几个店员共用一个核销号,出事查不到人

多门店的权限模型设计可参考多门店权限模型,门禁类硬件场景的联动口径见门禁核销场景。权限收敛比加密更先做:大多数冒用事故,其实是账号权限先失控。

五、避坑清单

核销安全的事故,回头查多半是这四条:

  • TTL 过长:动态码刷新周期拉到几分钟甚至小时级,截图窗口大开;60 秒上下是实践里稳的区间。
  • 重放没拦:只判有效期不判已核销,一张码在多家门店重复兑;幂等必须做在服务端。
  • 权限共用:图省事全店用同一个核销账号,出事后无法定位责任人;一人一号是底线。
  • 验签在前端:把验签写在小程序里,抓包绕过即失效;验签只能信任服务端。

六、常见问题 FAQ

核销码和 GEO 地理位置配置有关系吗?

没有关系。核销码管的是权益兑付的真实性;GEO 指地理位置配置——门店地址、经纬度、服务类目,决定门店能否被「附近」检索到。两套配置独立,核销安全不依赖位置信息。

TTL 设多长合适?

60 秒上下。太短客人在弱网下刷不出新码,太长截图窗口变大;先按 60 秒上线,再按现场核销速度与投诉量微调。

客人已经截图了怎么办?

截图里的码会在轮换后自然失效;若已被核销,用流水定位核销门店与时间,走补改流程处理,并提示客人更换卡券页入口。

店员端断网怎么核销?

离线核销要额外设计离线包与回传对账,风险高于在线核销;首版建议断网时改用订单号人工核对,联网后补录,不走离线放行。

怎么验收核销码做没做成功?

看三个数:重放拦截次数、验签拒绝次数、核销对账差异。前两个数在防护生效后会稳定出现,差异笔数应按周清零。

想把核销码的口子全部关上?

MPForge(DEVDIY 旗下)按业态与门店数做核销码体系的设计与实现,从动态码到权限与对账一次配齐。

获取报价 看核销码生成与失效完整教程