自助洗宠机支付接入:继电器控制与计费时序拆解
自助洗宠机的支付改造,核心不是接入微信或支付宝,而是继电器通断时序与计费状态机的一致性设计。单路或双路继电器控制洗宠/烘干设备,平台通过指令驱动启停并完成按次、按时、包月结算。本文拆解该场景的接入流程、状态机与上线检查项。
背景与定位
传统自助洗宠机采用投币或人工计时,主要问题集中在三点:现金清点依赖人工,多设备分布时对账周期长;计时精度受人为操作影响,用户与服务方对时长认定易产生分歧;设备离线或断电后无法还原运行状态,异常订单难以追溯。这些问题的根源在于支付动作与设备控制动作分离,平台无法实时掌握设备真实状态。支付盒子通过继电器控制与平台指令闭环,将支付和运行状态纳入同一套状态机管理。
核心概念
支付盒子在洗宠机场景中作为控制与通信组件,通过单路继电器(适配洗宠机或烘干机单设备)或双路继电器(适配洗宠+烘干联动设备)实现通断控制。平台侧提供按次、按时、包月三种计费模型,指令经由蜂窝网络下发。支付盒子收到指令后驱动继电器吸合,设备通电;服务结束或超时后,平台再次下发断电指令,继电器断开,订单完成。其关键点在于指令的幂等性与状态上报的可靠性。
组件作用备注单路继电器控制单台设备电源适合独立洗宠机或烘干机双路继电器控制洗宠+烘干联动设备可分别控制两路通断计费模型按时/按次/包月平台侧配置,指令实时生效
流程/时序
正常服务流程如下:
[用户] --扫码--> [支付盒子]
[支付盒子] --创建订单--> [云平台]
[用户] --完成支付--> [云平台]
[云平台] --下发开机指令--> [支付盒子]
[支付盒子] --继电器吸合--> [洗宠设备]
[设备运行] --用户结束或超时--> [云平台]
[云平台] --下发断电指令--> [支付盒子]
[支付盒子] --继电器断开--> [设备断电]
[云平台] --生成订单记录--> [结算]
状态机需覆盖:空闲、待支付、运行中、已结束、异常。异常场景包括支付成功后指令下发失败、设备运行中网络断开、用户提前结束但平台未收到确认。处理原则为指令失败自动重试,重试上限后进入人工介入;网络断开时支付盒子按本地缓存继续计时,恢复后补传状态;平台对账以支付盒子最终上报状态为准。
工程要点
继电器吸合与断开的电流容量需匹配设备功率,选型时以设备峰值电流为基准,并预留安全余量。
计费单位建议按秒或按分钟配置,避免按次模式下用户中途离开产生争议;包月模式需在平台上限定服务时长或次数。
指令下发采用同步等待确认,超时未确认进入重试队列,重试仍失败则标记异常订单。
对账以支付盒子记录的继电器通断时间戳为准,平台流水与设备日志需每日比对。
从架构角度,选择平台下发指令而非设备本地自主判断,有利于统一计费规则和远程调整参数;代价是依赖网络实时性。若网络延迟高,继电器响应可能滞后,因此需要为指令设置超时和重试,同时设备端应具备基本看门狗,防止平台失联时设备长时间运行。
上线检查清单
验证扫码支付到设备启动的全链路延迟,确认继电器响应时间在可接受范围内。
测试按次、按时、包月三种模式的计费准确性,特别是跨分钟或跨小时的边界。
模拟网络断开:运行中断网,恢复后检查订单状态与补传记录是否一致。
模拟指令丢失:支付成功后手动断开设备电源,确认平台能捕获异常并触发告警。
验证双路继电器设备中两路分别控制与联动控制是否互不干扰。
结语
自助洗宠机的支付接入,本质是将支付事件转化为设备控制指令的可靠传递。支付盒子通过继电器时序与状态上报,解决了传统投币模式下支付与运行状态分离的问题。上线前逐项执行检查清单,可避免因指令延迟、状态丢失导致的收入差异。进一步了解接线与配置细节,可查看账号主页简介。
Q: 双路继电器与单路继电器在洗宠机场景中如何选择?
A: 如果设备只包含洗宠或烘干单一功能,使用单路继电器;若洗宠与烘干为联动设备且需独立控制通断,则选用双路继电器。平台按设备类型绑定对应路数,避免误控。
Q: 包月模式如何防止超用?
A: 平台可对包月用户设置每日或每月服务时长上限,支付盒子在每次启动前校验剩余额度,超限则拒绝开机指令,同时支持按次叠加计费。

常见问题
Q:单路继电器适合什么设备?
A:单路继电器适合独立洗宠机或烘干机等单设备控制。它通过一路通断控制,适配单一功能设备,确保指令精确执行。
Q:双路继电器有什么特殊功能?
A:双路继电器可分别控制洗宠+烘干联动设备两路通断。它支持独立控制两路设备,避免误控,适合需要联动操作的场景。
Q:支付盒子如何处理网络断开情况?
A:网络断开时,支付盒子按本地缓存继续计时,恢复后补传状态。平台对账以支付盒子最终上报状态为准,确保计费准确。
Q:指令失败时如何处理?
A:指令失败会自动重试,重试上限后进入人工介入。支付盒子采用同步等待确认机制,超时未确认进入重试队列,确保指令可靠执行。
Q:包月模式如何防止用户超用?
A:平台可对包月用户设置每日或每月服务时长上限,支付盒子在每次启动前校验剩余额度,超限则拒绝开机指令,支持按次叠加计费。


