商场网络突然中断,顾客已经排到收银台,店员最先关心的是这笔单还能不能结。品牌在选型时不能只听一句“支持离线”,而要把开单、支付和恢复同步拆开验证,尤其要防止顾客已经付款,POS却再次发起收款。
离线经营的基本判断是:本地有足够的数据才能继续录单,依赖外部实时校验的动作要限制或转入待处理,网络恢复后每笔交易只能入账一次。具体支持哪些支付方式、最长可离线多久以及发生冲突后怎样处理,应在项目中明确。
先分清离线开单和离线支付
门店 POS 断网后仍能扫描商品、计算价格并生成销售记录,说明系统具备离线开单能力。顾客能否完成微信、支付宝、银行卡或储值支付,还取决于支付终端、支付机构、会员中心及网络是否可用,不能由“支持离线销售”直接推导出来。
一笔交易至少包含三个相互关联的结果:
| 环节 | 断网时要判断什么 | 主要风险 |
|---|---|---|
| 销售开单 | 商品、价格、促销和操作权限是否已有本地数据 | 使用过期价格或活动规则 |
| 支付确认 | 支付方式是否依赖在线授权,原支付请求是否已有结果 | 重复收款或把未付款订单当成已付款 |
| 恢复同步 | 销售、支付、库存和会员结果能否按原交易编号入账一次 | 重复销售、重复扣库存或重复积分 |
现金不依赖在线授权;百货代收能否继续收款,取决于商场收银系统是否可用。门店 POS 主要记录商场代收结果,因此要分别确认商场端是否完成收款、POS 是否成功记录,以及恢复联网后双方能否完成对账。扫码支付、银行卡、储值、积分和优惠券则按各自接口逐项确认。
离线交易能做多少,取决于本地保存了什么
POS 进入离线状态前,通常要在本地保存必要的商品、价格、促销和终端权限数据。测试时不能只扫一个普通商品,还要检查这些数据是否带有版本号、生效时间和适用门店,避免断网后继续执行已经结束的促销。
品牌可按以下范围确定离线交易边界:
- 商品与价格:离线时能否查询本店商品,调价后尚未同步到终端怎样提示。
- 促销:哪些规则已经下载到本地,活动跨过开始或结束时间后按哪个版本计算。
- 库存:本地库存只能反映断网前的状态,多台终端同时销售时可能暂时看不到彼此的扣减。
- 会员权益:积分、优惠券、储值和跨店权益依赖实时余额时,应限制使用或采用项目约定的校验方式。
- 权限与日志:离线期间的改价、折扣和撤单仍要记录操作人、终端和时间。
断网期间,多台终端无法实时共享销售结果,系统无法保证门店库存始终不被超卖。品牌要提前确定本地库存下限、是否允许负库存、哪些限量或高价值商品禁止离线销售,以及离线超过多长时间后停止开单。恢复联网后,冲突交易不得互相覆盖,系统应保留已经发生的销售,并生成库存异常记录继续处理。
门店还要提前知道哪些动作在离线状态下不可用。无法实时核验的储值消费、优惠券核销、电子发票、跨店退货或线上订单提货,不宜由店员凭经验强行完成;系统应明确提示受限原因,并在网络恢复后提供继续处理的入口。
还要测试系统达到最长离线时间、超过允许离线单数或本地数据版本失效后的处理。达到限制后,系统应明确停止哪些操作并提示原因,不能继续无期限使用旧价格和旧促销。
支付结果不明时,先查原请求,不能直接让顾客再付一次
重复扣款常发生在支付渠道已经收款、POS却没有收到成功回调的几秒钟里。收银界面如果只显示“支付失败”,店员容易重新扫码;顾客随后会发现同一笔消费被扣了两次。
系统应把销售单状态和支付状态分开记录。一笔订单可以处于“待支付确认”,同时保留原订单号、支付请求号、金额、支付方式和发起时间。网络恢复后,POS或支付服务先查询原支付请求的最终状态:
- 确认支付成功:将结果关联回原销售单,不再创建新的支付请求。
- 确认支付失败或已关闭:允许店员重新发起支付,并生成新的支付请求号。
- 渠道仍返回未知:保持待确认状态,进入对账或人工处理,不能先按成功入账,也不能直接再次收费。
收银台的提示语也要能指导现场操作。顾客手机已显示扣款而 POS 未确认时,应提示店员查询原支付或联系值班人员,避免简单显示“请重新支付”。
恢复联网后,历史离线单不能按当前规则重新计算
网络恢复后,系统一边上传离线交易,一边下载最新商品和促销数据。无论技术上先做哪一步,已经完成的离线订单都要保留原交易时间、原价格和原促销版本,不能用恢复联网时的新规则重新计算。
每笔离线交易应在本地生成稳定的交易标识,例如门店、终端、营业日期和本地流水号组成的业务键。服务器收到交易后,按约定的去重键判断是否已经入账;同一笔交易重复上传,只返回原处理结果,不再生成第二张销售单。
同步结果不能只有“成功”或“失败”。门店和总部至少要能区分已接收、重复提交、业务冲突和待人工处理。常见冲突包括断网期间商品被停售、同一张优惠券在其他终端已使用、会员余额发生变化,以及多台终端销售后库存出现短时负数。
已经收款的交易即使发生业务冲突,也不能直接删除。系统应保留原销售与支付事实,再通过异常单、库存调整、权益补记或退款流程处理差异,保证日结时能说明钱、单和货分别处于什么状态。
恢复同步要同时防四类重复
品牌常把“重复扣款”作为一个问题,实际验收时要分开检查四类结果:
| 重复类型 | 常见原因 | 验收结果 |
|---|---|---|
| 重复收款 | 支付成功回调丢失,店员再次发起支付 | 原支付可查询,同一请求不重复扣款 |
| 重复销售 | 本地离线单因超时或重试上传多次 | 后台只生成一张销售单 |
| 重复扣库存 | 销售单和恢复同步事件各执行一次扣减 | 一件商品最终只减少一件库存 |
| 重复发权益 | 交易重放后再次累计积分、成长值或赠券 | 会员权益只按有效交易变化一次 |
这四项应沿同一个交易编号核对。只看顾客有没有被扣两次钱还不够,支付只有一笔、后台却出现两张销售单,同样会造成库存、积分和财务对账错误。
用一笔220元交易测试断网与恢复
现场准备同一门店的 A、B 两台 POS、两个商品和一位测试会员。A 终端断开业务网络,B 终端保持联网或使用独立备用网络。商品 A、B 各 120 元,A 终端已同步一条“两件减20元”的促销,订单应收 220 元;测试前记录两件商品库存、会员积分和终端最后一次同步时间。
- 断开 POS 网络,扫描 A、B 两件商品,确认系统仍按已下载的促销版本计算 220 元,并生成本地交易编号。
- 分别测试项目允许的离线支付方式和明确禁止的支付方式,检查受限支付是否有清楚提示。
- 使用测试支付环境,由支付接口方在渠道确认成功后拦截或延迟返回结果,形成“支付渠道已有成功流水、POS仍显示待确认”的状态。恢复通信后,POS必须查询原支付请求并关联原销售单,不得直接生成第二个支付请求。
- 恢复网络,查询原支付请求,确认220元只支付一次,并关联回原销售单。
- 连续三次重传同一笔离线交易,检查后台只生成一张销售单,A、B库存各减少一件,积分只累计一次。
- 在 A 终端离线期间,通过仍联网的 B 终端使用同一会员权益或销售同一商品。A 恢复联网后,检查系统是否保留两边已经发生的业务,并将重复用券、库存不足等冲突转入异常处理,而非用后一笔记录覆盖前一笔。
- 在网络恢复前结束促销,再同步离线单,确认原单仍保留断网时的促销快照,不按恢复后的价格重算。
- 完成门店日结,核对销售220元、支付220元、库存变动和会员权益是否能沿同一交易编号对应。
验收证据应包含本地交易编号、支付请求号、支付渠道流水、首次与重复同步结果、后台销售单、库存流水、会员权益流水和日结结果。如果供应商只能展示断网时可以开单,却无法还原网络恢复后的这些记录,离线能力仍不足以支撑正式营业。
门店还要有一套断网操作口径
系统能力之外,门店要明确谁判断进入离线模式、哪些支付方式暂停、支付结果不明时找谁处理、何时允许退出离线状态。店员自行切换热点、重复扫码或手工补单,都可能把一次网络故障扩大成支付和库存差异。
总部可把操作口径压缩成四个动作:确认网络与终端状态,查看系统离线提示,按允许范围完成交易,恢复后逐笔核对待确认订单。未完成同步和对账前,不应删除本地记录或用新单覆盖原单。
秉坤智慧零售系统的能力边界
秉坤智慧零售系统覆盖门店商品、促销、交易、组合支付和库存等业务,并可与 ERP、会员中心、支付及其他既有系统对接。客户端登录后可同步必要的商品和促销数据,网络中断时继续录入销售单。
离线状态下具体支持的支付方式、本地数据保留时长、会员权益校验、恢复同步顺序、冲突处理和支付查询机制,应根据品牌架构与项目版本确认属于标准功能、参数配置、接口集成、定制开发还是暂不支持。
选型时还可结合《零售系统选型,真正要问什么?30个真实问题看清功能与系统边界》,把离线能力与权限、库存、支付和接口边界一起验收。
常见问题
门店断网后还能扫码开单吗?
如果终端已经登录,并提前同步了必要的商品、价格和促销数据,可以继续录入离线销售单。首次登录、未下载数据或本地数据已失效时,能否继续操作要按项目规则确认。
微信、支付宝和银行卡断网后还能收款吗?
不能统一回答。扫码支付和银行卡通常还依赖支付终端、支付机构及网络,POS支持离线录单不代表支付渠道也能离线。项目上线前应逐种支付方式实测,并明确不可用时的门店提示。
顾客已经扣款,POS却显示支付失败怎么办?
先保留原订单号和支付请求号,查询原支付的最终状态,不能立即让顾客再次付款。确认成功后关联回原销售单;确认失败后才能重新发起支付;结果仍未知时进入对账或人工处理。
网络恢复后为什么会重复扣库存?
常见原因是同一离线单被重复上传,或销售单与同步事件分别执行了库存扣减。服务器应按固定交易标识去重,重复请求只返回原结果,库存、积分和财务结果都不能再次变化。
离线交易应计入断网当天还是恢复同步当天?
销售归属通常应保留原营业日期和实际交易时间,恢复同步时间另行记录。库存和财务如何落账,还要结合日结是否关闭、库存期间是否锁定及项目记账规则确认,不能用同步时间覆盖原交易时间。



