同样写着“货道配置、扫码支付、出货联调”,报价可能相差很大。便宜的一份,也许只包含现成机型接入、固定二维码和正常出货测试;另一份则把新控制板适配、支付商户配置、异常退款、多机型测试、现场调试和上线后的问题处理都算了进去。项目名称相同,实际做的事并不相同。
红数科技评估这类需求时,会先拿一笔真实订单把过程走完:顾客扫哪个码,系统怎样知道他选了哪件商品;付款结果从哪里回来;哪一台机器的哪条货道收到出货命令;商品掉落后,系统凭什么认定交付完成;没有掉下来,订单、库存和钱又该怎样处理。费用主要花在这条过程中的差异和不确定性上。

报价先看一笔订单要走到哪里
一笔无人售货订单,通常会经过选品或识别设备、创建订单、发起支付、确认付款、下发货道指令、接收设备反馈、更新库存和完成订单。出货失败时,还会进入重试、换货道、人工处理或退款。
这里有一个容易混淆的地方:**支付成功和出货成功是两个状态。**支付平台只能说明交易是否完成,不能证明商品已经掉到取货口。设备回复“指令已接收”,也不一定等于商品已经交付。系统是否需要光电掉货检测、取货门检测、称重反馈或其他确认方式,会直接改变硬件条件、程序逻辑和测试范围。
如果项目只要求付款后驱动一次电机,工作量不大,风险也由运营方自行承担;如果要求每笔订单都能追到明确结果,异常时自动退款并能对账,就需要完整的订单状态、设备状态、日志和补偿处理。后者才是可以长期运营的交易系统,不能拿前者的价格直接比较。
货道多不一定贵,机型和控制方式不统一才贵
同一台机器里有 20 条还是 40 条货道,很多时候只是多一些编号、商品绑定和测试数据。只要货道使用同一种电机、同一块控制板和同一套协议,增加货道不一定成倍增加开发费用。
真正拉开工作量的,是货道之间并不一样。弹簧货道、履带货道、格子柜、电磁锁和升降取货有不同的控制动作;饮料、盒装商品和易碎品对转动角度、推送时长、掉货检测也可能有不同要求。机器来自不同厂家,串口指令、MDB/ICP 适配、Android 主控 SDK、错误码和状态反馈往往不能直接通用。

报价前至少要确认控制板型号、通信方式、协议文档、样机和调试权限是否齐全。文档写着“支持出货”还不够,还要知道命令怎样对应货道,设备忙碌、缺货、电机过流、传感器遮挡和通信超时分别返回什么。没有这些资料,开发方只能边接边猜,联调时间自然难以锁定。
硬件本身需要改动时,费用还会多出控制板、线束、传感器、主控终端、打样和安装。纯软件报价与软硬件一起改造的报价,不能放在同一栏比较。
扫码支付的成本,通常不在“生成一个二维码”
二维码可以做得很简单,支付过程不能只看扫码页面。项目要先确定商户号归谁、款项进谁的账户,采用微信支付、支付宝还是聚合支付;是一机一码、一个货道一个码,还是顾客选品后生成当次订单码;支付页面由小程序、H5、设备屏幕还是第三方收银台承接。这些选择会影响账号申请、接口数量、页面开发和上线审核。

支付结果也不能只依赖顾客手机上的“支付成功”页面。以微信支付的公开接口为例,Native 支付同时提供下单、支付成功回调、订单查询、关闭订单和退款等能力。实际系统需要校验通知、按商户订单号查单,并处理重复通知、通知延迟和网络中断。对同一笔订单重复收到支付结果时,只能出一次货;付款结果暂时不明确时,也不能一边出货一边立即退款。
这部分费用常花在交易状态和安全处理上:订单号怎样保持唯一,金额能否被前端修改,回调如何验签,重复请求怎样拦住,二维码何时失效,退款失败后怎样继续查询,支付账单和业务订单能不能对上。若客户已经有可用的商户账号、支付服务和成熟订单系统,接入会轻一些;从账号、后端到对账全部新建,工作量就不是简单“加一个支付按钮”。
支付机构的交易手续费、聚合服务费、证书或服务商费用通常属于第三方持续费用,不应混进一次性开发费里。报价时最好单独列明费率由谁收取、按什么规则结算,以及后续费率变化由谁承担。
出货联调贵不贵,看系统能不能说清“货去哪了”
正常路径通常很快能演示出来:付款、转电机、商品掉落。真正占联调时间的,是不顺利的时候。
商品卡在弹簧中间,电机已经转完,但掉货传感器没有信号,系统该再转一次还是退款?设备收到命令后掉线,重新连上时,是继续原任务、查询真实状态,还是生成一条新命令?同一商品绑定两个备用货道时,主货道售罄后能否切换,库存又从哪一格扣减?这些不是上线后的附加问题,它们决定了订单会不会重复出货、少出货或错退款。

设备协议如果能返回“已接收、执行中、成功、失败”和明确错误码,联调会顺很多。只有一个笼统的成功值,或者必须靠摄像头和人工判断,系统就需要增加额外的确认和处理方式。需要自动补发、自动换货道、自动退款或远程复位时,每多一种动作,都要写清触发条件、次数限制和最终兜底人。
日志同样会进入费用。至少要能把支付单号、业务订单号、设备编号、货道号、指令编号、发送时间、设备反馈、传感器结果和退款记录串到一起。没有这条记录,少一瓶饮料究竟是没收到钱、设备没执行、商品没掉落,还是库存配置错了,现场很难查清。
联调范围一扩大,费用会从开发转向测试和现场
一套控制板、一台样机、一个支付渠道,在稳定网络下跑通正常流程,属于较小范围的联调。机型、控制板、支付渠道、站点和网络环境增加后,不能只复制代码,还要确认每种组合是否真的兼容。
正式测试通常会覆盖正常购买、货道售罄、商品卡住、传感器无反馈、设备离线、指令超时、支付回调重复或延迟、二维码过期、退款失败、设备重启和断网恢复。需要做压力测试时,还要验证多台设备同时交易、消息积压和服务重启后的订单状态。

远程联调能解决接口和程序问题,解决不了接线错误、传感器位置、商品尺寸、无线信号和现场供电。是否需要工程师到场、要去几个城市、夜间能否停机测试、机器由谁开门和补货,都会进入工时与差旅。硬件厂商能否提供熟悉协议的工程师,也会明显影响排查速度。
一份完整报价通常会拆成这些费用
前期确认和技术方案。 核对交易流程、机型、货道、支付账号、协议、异常处理和验收条件。资料完整的标准接入,这部分可以很轻;设备协议不清或需要先做技术验证时,通常会单列验证费用。
支付与订单开发。 包括下单、支付通知、查单、关单、退款、对账,以及与现有会员、商品、库存或运营后台的连接。已有成熟系统可以复用多少,决定了这一项是接口配置还是重新开发。
设备和货道适配。 包括控制协议接入、货道映射、设备状态、错误码、掉货检测和必要的主控程序。不同机型能否共用适配层,是后续批量部署成本能不能降下来的关键。
联调、测试和验收。 包括样机测试、异常用例、现场部署、问题复现、修复验证和验收记录。测试范围只写“保证正常出货”太模糊,应明确要测哪些机型、多少条代表性货道、哪些异常,以及做到什么结果算通过。
持续运行费用。 可能包括云服务器、数据库、短信、物联网卡、支付手续费、日志存储、监控告警、软件维护和现场服务。这些费用有的按年,有的按设备数、交易量或实际用量计算,适合与一次性项目费分开列。
询价前准备这些信息,报价会更接近实际
| 需要提供的内容 | 至少确认到什么程度 |
|---|---|
| 机器与控制板 | 厂家、型号、数量、控制板版本、主控系统、通信方式 |
| 货道 | 货道类型、数量、编号规则、商品尺寸、是否有掉货或取货检测 |
| 接口资料 | 协议文档、SDK、示例程序、错误码、测试账号和调试权限 |
| 支付 | 支付渠道、商户账号现状、收款主体、扫码方式、退款和对账要求 |
| 交易流程 | 选品方式、下单入口、出货条件、库存扣减时点、失败后的处理 |
| 部署范围 | 样机和量产数量、站点、网络条件、是否需要现场安装和培训 |
| 验收口径 | 正常与异常用例、允许重试次数、日志要求、问题响应和质保范围 |
样机还没有到、协议也不完整时,不宜直接承诺一个包干总价。更稳妥的做法,是先做一次范围受控的技术验证:选一台代表性机器、几条不同结构的货道和一个真实支付渠道,跑通正常出货,再主动制造断网、卡货、重复通知和退款。验证结束后留下接口版本、测试记录和未解决问题,再估量产接入,报价会可靠得多。
比较不同服务方时,可以逐项核对:是否包含支付账号和环境配置,是否包含硬件改造,包含几种机型和支付渠道,要不要到场,异常退款做到哪一步,第三方费用谁承担,验收后多长时间内的问题由谁处理。只有这些边界一致,价格高低才有意义。
商品货道、扫码支付和出货联调的费用,归根到底取决于一笔交易需要被确认到什么程度。只让电机转起来,成本确实不高;要让每一笔钱、每一条指令和每一次出货都能对应,失败后还有可执行的处理办法,工作就会落到支付、设备、订单、测试和现场几条线上。报价把这些写清楚,项目上线后才不容易靠人工补漏洞。
资料依据
- 微信支付商户文档中心:Native 支付产品介绍,资料核对于 2026 年 7 月 24 日。
- 微信支付商户文档中心:Native 支付 API 列表,包含下单、查单、回调、关单、退款与账单接口。
- 微信支付商户文档中心:支付成功回调通知,资料核对于 2026 年 7 月 24 日。
- 微信支付商户文档中心:商户订单号查询订单,资料核对于 2026 年 7 月 24 日。
- NAMA:Multi-Drop Bus / Internal Communication Protocol,自动售货设备 MDB/ICP 协议公开资料。