停车系统对接第三方在线支付平台

首先,我们来看看第三方公司(充电桩)提供的对接接口文档

接口档@推送停停车费减免信息(供下载)
说明:充电订单账单生成(含挂起),推送减免信息到停车场系统。
业务流程描述
司机驾车驶入停车场。
在设备上启动充电。
结束充电后XX平台将车牌号和减免时长发送给停车场管理系统。
司机驾车驶离。
道闸系统识别车牌,减免充电优化的时长,根据规则进行剩余时长的收费。
注意:一次入场离场之间,最多减免120分钟,如果在这期间多次收到减免信息则需要道闸系统去重,避免叠加。
推送停车费减免接口
字段 说明
URL 停车场系统方定义
Method POST
Type JSON
通讯方式 XX平台调取停车场系统的HTTP接口
服务器地址 XX平台调取停车场系统的服务器地址

请求参数
参数 类型 描述
plateNo String 车牌号
merchId String 停车场唯一标识(停车场系统提供)
duration int 减免时长(分钟)
sign String 签名(调用方按照签名规则生成,停车场系统通过眼前规则校验签名是否正确)

响应
{
"code":10000,
"msg":"成功",
"data":{
}
}
参数 描述
code 10000.减免成功,其他code可自定义,例如{"code":20033,"msg":"减免失败 车辆不在内","data":null}
msg code对应的描述信息
data 其他响应数据,没有为null

下面是签名规则

public void test(String plateNo, String startTime, String endTime) {
 Map paramMap = Maps.newHashMap();
 paramMap.put("plateNo", plateNo);
 paramMap.put("startTime", startTime);
 paramMap.put("endTime", endTime);
 genSign(paramMap, signKey);
}
public static String genSign(final Map paramMap, String signKey) {
 String[] keyArray = new String[paramMap.keySet().size()];
 paramMap.keySet().toArray(keyArray);
 Arrays.sort(keyArray);
 StringBuffer sb = new StringBuffer();
 for (String key : keyArray) {
 if (StringUtils.isNotBlank(key) && StringUtils.isNotBlank(paramMap.get(key))) {
 sb.append(key).append("=").append(paramMap.get(key)).append("&");
 }
 }
 sb.append("key=").append(DigestUtils.md5Hex(signKey));
 logger.info("param : {}", sb.toString());
 String sign = DigestUtils.md5Hex(sb.toString()).toUpperCase();
 logger.info("param: {} sign: {}", sb.toString(), sign);
 return sign;
}
View Code

接下来我们来看看停车系统的数据结构

停车系统为中性版本,T61高清车牌识别管理系统,C/S架构.Windows2008+MsSql2008

分析:

车辆入库后摄像头将识别到的车号等信息插入数据库 MYCARCOMERECORD表.如下字段

ID CardNO CPH  CardType  InTime OutTime ...InPic ...SFTime...SFGate 等(其他字段忽略不计)

经过模拟软件功能中央收费,发现车辆入库后 中央收费将计算InTime到收费时间点停车费.缴纳后InTime 时间修改为当前时间.再在SFGate由空修改为"中央收费"标记.中央收费后面的停车时间系统将继续统计.

很明显,我们只要将某公司在线支付充电费后发送的 Http POST数据到我们的接口来操作数据库InTime 即可. JAVA/.NET/PHP等语言均可以完成开发.

我采用JAVA开发一套接口,应用在充电桩停车场.运行了一段时间没有发现问题.该方案得到有几个亿用户群体的公司开发技术团队认可.有兴趣的可以联系我 QQ:264059790

猜你喜欢

转载自www.cnblogs.com/zhouein/p/10176819.html