自动售货机的年龄验证设备在中国国内使用并不广泛,因为我们国家对于一些特殊商品,比如烟酒等是属于特许经营,也就是很少应用在自助售货场合。
在MDB协议里描述了两个无现金设备,可以附带年龄验证功能,同时还列出了一个单独的MDB年龄验证设备。也就是说在某些机器中,这两个CASHLESS设备可能只是无现金读卡器,并没有年龄验证功能,因此也有必要将年龄验证设备仅定义为一个附加设备,允许机器内的两个读卡器像以前一样工作。作为多功能设备运行的无现金读卡器可以选择在两个外围地址(无现金1或2和年龄验证设备地址)上运行附加命令集或作为一个独立的从属设备进行响应。
每次通电后或收到MDB重置后,无现金(cashless)设备或年龄验证设备将忽略年龄验证。首先,在VMC使用MDB命令“DRAVP”(诊断请求打开年龄验证)打开年龄验证并且Y4>0后,这样才能检查验证卡。只有在这种情况下,无现金设备或年龄验证设备才会发送对VMC的第二个新命令“DRAVS”(诊断响应年龄验证状态)的响应。这样也就适合多数非现金支付设备并不支持年龄验证功能,因为需要特殊使能。
以下是MDB-RS232适配器和台湾ICT的年龄验证设备DCM5的测试
(以下是与台湾ICT的DCM5年龄验证设备测试数据,供参考)
注意:要测试年龄验证设备,一定要选择MDB-RS232专业版才支持。标准版设备不支持年龄验证设备。
指令 | HEX 代码 | 描述 | |
RESET(复位) | 68H | 复位设备 | |
SETUP(配置) | 69H | 读取年龄验证设备配置 | |
Expansion (扩展指令) | 6FH | 00 | 读取设备 ID |
FF | Switch On / Off (开关年龄验证设备) |
Switch On / Off of Age Verification (开关年龄验证设备)
此命令用于打开或关闭年龄验证,并设置设备的最小验证年龄。当处于“打开”(ON)状态时,会检查每个插入的介质,并将结果发送给VMC。
VMC通电后,需要发送ON或OFF命令给年龄验证设备。
- 例如,通过命令打开超过或等于18岁的年龄验证
VMC 指令: 6F FF 05 06 12 44 52 41 56 60 (设置年龄数值为 Hex:12,也就是年龄需要大于等于18岁)
设备回复: FF 05 06 00 44 52 41 56 50 87
- 例如,通过命令打开超过或等于43岁的年龄验证
VMC 指令: 6F FF 05 06 35 44 52 41 56 60 (设置年龄数值为 Hex:35,也就是年龄需要大于等于43岁)
设备回复: FF 05 06 00 44 52 41 56 50 87
Start to swipe the card (刷卡验证)
年龄验证设备可能会报告如下数据给VMC
样本数据组1: 68 FF 06 07 00 00 44 52 41 56 53
(无效卡,从用户卡上读不到年龄信息)
样本数据组2: 68 FF 06 07 0E 10 44 52 41 56 53
(有效卡,用户不可以购买相应产品,因为用户的年龄小于验证年龄)
样本数据组3: 68 FF 06 07 1E 10 44 52 41 56 53
(有效卡,用户可以购买相应产品,因为用户的年龄大于或者等于验证年龄)
68 | Z1 | Z2 | Z3 | Z4 (Feature byte1) | Z5 (Feature byte2) | Z6 Z7 Z8 Z9 Z10 |
68 | FF | 06 | 07 | 00 | 00 | 44 52 41 56 53 |
68 | FF | 06 | 07 | 0E | 10 | 44 52 41 56 53 |
68 | FF | 06 | 07 | 1E | 10 | 44 52 41 56 53 |
您可以将VMC接收到的数据与MDB协议截图进行比较。
有关详细协议,您可以阅读MDB详细信息V4.3版本