1. 程式人生 > >停車系統對接第三方線上支付平臺

停車系統對接第三方線上支付平臺

首先,我們來看看第三方公司(充電樁)提供的對接介面文件

介面檔@推送停停車費減免資訊(供下載)
說明:充電訂單賬單生成(含掛起),推送減免資訊到停車場系統。
業務流程描述
司機駕車駛入停車場。
在裝置上啟動充電。
結束充電後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