C扫B 最小服务端 · 链路实验室
把「C扫B 到底需不需要服务端」跑给你看:服务端保管密钥、加签、算价、出码,再用主动查单确认到账。
二维码由服务端渲染成 PNG 图片,浏览器只拿到像素;收银台地址只存在服务端内存,
不进 HTML、不进 JSON、不进日志。二维码内容仅是一张 5 分钟有效的一次性令牌短链。
② 最小服务端只做 5 件事
1. 保管 program_id / 应用秘钥,做 MD5 加签
2. 服务端重算金额、生成订单号,调 buyPay.do
3. 把带密钥的收银台 URL 只留在服务端内存
4. 渲染二维码图片 / 发一次性令牌短链
5. 收异步回调,或主动轮询 query.do 确认到账、落库对账
关键点:需要服务端 ≠ 需要公网云主机。用轮询查单代替回调,服务端可以只是门店本地一台收银机,
只要能出网访问网关即可,无需公网 IP、域名或备案。
⑤ 三条落地路线
| 方案 | 我方服务端 | 公网回调 | 带订单 |
| 静态固定码 | 不需要 | 不需要 | 无 |
| 动态码 + 主动查单 | 需要(可局域网) | 不需要 | 有 |
| 动态码 + 异步回调 | 需要(公网可达) | 需要 | 有 |
本页演示的是第二行。静态码那条路不在微邮付 API 内,防逃单靠收款播报。