断网用离线收银了,联网后订单没自动回传怎么排查
离线收银的逻辑是:先本地记账+出小票,等网络恢复再把订单塞进“补传队列”回传。你遇到的“没自动回传”,通常卡在两处:网络其实没恢复到可用、或补传队列被暂停/失败重试。
举个常见案例:门店断网收了15笔,网络回来后收银台能刷短视频但订单不回传,多半是只通外网不通业务域名/端口,导致队列一直失败。
离线模式设置:别让订单一直待在本地
在商家助手收银端把这几项对一下(名称可能略有差异):
- 离线收银开关:开启后建议同时开启“网络恢复自动补传”。
- 补传触发条件:建议设置为“检测到可用网络后立即补传”,不要只在交班时补传。
- 本地缓存上限:例如上限1000笔;接近上限时要提示店员停用离线,避免丢单风险。
- 时间同步:设备时间偏差过大,可能被风控或接口拒收,回传会一直失败。
补传队列怎么查:看得到失败原因才好修
打开“订单/收款记录 → 离线订单/待回传”(或“同步中心”),重点看三列:待发送数量、失败数量、最近失败原因。
- 显示“网络错误/超时”:换到手机热点测一下;能回传说明是门店网络拦了域名或DNS。
- 显示“鉴权失败/签名错误”:多见于收银对接微信/接口回调。按微信开放社区的规则,校验token、timestamp、nonce字典序拼接后做sha1,对不上就会被拒,订单自然回不去。
- 队列卡住不动:点一次手动补传,看是否弹出具体报错码;必要时导出失败明细给技术同事。
避免重复入账:补传一定要做“幂等校验”
手动补传或多次重试时,最怕一笔钱变两笔账。建议用三重去重:
- 支付交易号(如微信支付单号)唯一;已入账就直接返回“成功”。
- 商户订单号唯一;离线生成规则建议“门店ID+机台ID+时间戳+递增序号”。
- 金额+时间窗校验:例如同一机台在2分钟内相同金额重复提交,进入人工复核,不自动入账。
实操建议:今天(2026年3月17日)就安排店长做一次演练——断网收3笔、恢复网络后看队列是否清空;同时让技术把“鉴权失败/超时”两类日志打通。以后门店一断网,店员只要记住两件事:别关机别卸载,网络恢复后盯着待回传=0再交班。