本發(fā)明涉及信息安全領(lǐng)域,特別涉及一種可視金融ic卡及基于可視金融ic卡的脫機(jī)交易方法。
背景技術(shù):
隨著金融行業(yè)信息化程度的不斷提高,金融行業(yè)對安全等級的要求也日益增長,國內(nèi)外各大銀行都爭相推出金融ic卡,以全面替代傳統(tǒng)的磁條卡。
金融ic卡又稱為芯片銀行卡,是以芯片作為介質(zhì)的銀行卡,芯片卡容量大,可以存儲密鑰、數(shù)字證書和指紋等信息,在加載電子紙等顯示技術(shù)后,能夠顯示電子現(xiàn)金余額、交易明細(xì)和發(fā)卡行自定義數(shù)據(jù)等非敏感信息。
然而,現(xiàn)有的金融ic卡需要借助pos機(jī)等交易終端實現(xiàn)交易,安全性和便捷性較差。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是克服現(xiàn)有技術(shù)的缺陷,提供一種可視金融ic卡及基于可視金融ic卡的脫機(jī)交易方法,具體通過以下技術(shù)方案實現(xiàn)。
一方面,本發(fā)明提供一種可視金融ic卡,包括:
接收模塊,用于接收客戶端發(fā)送的藍(lán)牙配對請求、驗證請求和命令;
生成模塊,用于當(dāng)接收模塊接收到藍(lán)牙配對請求時,生成配對標(biāo)識;
驗證模塊,用于當(dāng)接收模塊接收到驗證請求時,對客戶端進(jìn)行驗證;
顯示模塊,用于顯示生成模塊生成的配對標(biāo)識,以及當(dāng)驗證模塊驗證未通過時顯示相應(yīng)提示信息;
發(fā)送模塊,用于當(dāng)驗證模塊驗證通過時向客戶端返回藍(lán)牙配對響應(yīng);
連接模塊,用于與客戶端建立藍(lán)牙連接;
上述可視金融ic卡還包括:
執(zhí)行模塊,用于當(dāng)接收模塊接收到第一預(yù)設(shè)命令時,選擇應(yīng)用;用于當(dāng)接收模塊接收到第二預(yù)設(shè)命令時,獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項;用于當(dāng)接收模塊接收到第三預(yù)設(shè)命令時,讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志。
其中,執(zhí)行模塊具體包括:卡片記錄讀取單元,用于確定卡片記錄所在應(yīng)用文件的短文件標(biāo)識以及卡片記錄的記錄號,獲取與所述短文件標(biāo)識對應(yīng)的應(yīng)用基本文件,讀取所述應(yīng)用基本文件中與所述記錄號對應(yīng)的卡片記錄。
在一些實施方式中,執(zhí)行模塊具體用于:當(dāng)所述接收模塊接收到選擇命令時,選擇應(yīng)用;所述執(zhí)行模塊具體包括:第一獲取單元,用于判斷是否允許執(zhí)行所述選擇命令中的應(yīng)用標(biāo)識對應(yīng)的應(yīng)用;所述發(fā)送模塊還用于:當(dāng)所述第一獲取單元判斷允許執(zhí)行時,向客戶端返回應(yīng)用選擇成功響應(yīng);當(dāng)所述第一獲取單元判斷不允許執(zhí)行時,向客戶端返回選擇失敗響應(yīng);
進(jìn)一步地,發(fā)送模塊向客戶端返回的應(yīng)用選擇成功響應(yīng)中可以包含處理選項數(shù)據(jù)對象列表;
在一些實施方式中,執(zhí)行模塊具體用于:當(dāng)接收模塊接收到脫機(jī)交易命令時,選擇應(yīng)用;執(zhí)行模塊具體包括:第一獲取單元,用于建立應(yīng)用候選列表,依據(jù)應(yīng)用候選列表選擇應(yīng)用;發(fā)送模塊還用于:當(dāng)?shù)谝猾@取單元選擇應(yīng)用失敗時向客戶端返回應(yīng)用選擇失敗響應(yīng)。
進(jìn)一步地:
在一些實施方式中,接收模塊還用于:當(dāng)發(fā)送模塊向客戶端返回應(yīng)用選擇成功響應(yīng)后,接收客戶端發(fā)送的交易金額;執(zhí)行模塊具體用于:當(dāng)接收模塊接收到獲取處理選項命令時,獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項;執(zhí)行模塊具體包括:第二獲取單元,用于根據(jù)處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項;發(fā)送模塊還用于:當(dāng)?shù)诙@取單元檢查通過時,向客戶端返回獲取處理選項成功響應(yīng);當(dāng)?shù)诙@取單元檢查未通過時,向客戶端返回獲取處理選項失敗響應(yīng);
在一些實施方式中,執(zhí)行模塊具體用于:當(dāng)接收模塊接收到獲取處理選項命令時,獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項;執(zhí)行模塊具體包括:第二獲取單元,用于從獲取處理選項命令中獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項;發(fā)送模塊還用于:當(dāng)?shù)诙@取單元檢查通過時,向客戶端返回獲取處理選項成功響應(yīng);當(dāng)?shù)诙@取單元檢查未通過時,向客戶端返回獲取處理選項失敗響應(yīng);
進(jìn)一步地,本發(fā)明中,發(fā)送模塊向客戶端返回的獲取處理選項成功響應(yīng)中可以包含處理選項;
在一些實施方式中,執(zhí)行模塊具體用于:當(dāng)接收模塊接收到脫機(jī)交易命令時,獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項;執(zhí)行模塊具體包括:第二獲取單元,用于獲取脫機(jī)交易命令中的交易金額,根據(jù)處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項;發(fā)送模塊還用于:當(dāng)?shù)诙@取單元檢查未通過時,向客戶端返回獲取處理選項失敗響應(yīng)。
更進(jìn)一步地:
在一些實施方式中,執(zhí)行模塊具體用于:當(dāng)接收模塊接收到脫機(jī)交易命令時,讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志;執(zhí)行模塊具體包括:第三獲取單元,用于根據(jù)處理選項讀取卡片記錄,根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,并根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作;發(fā)送模塊還用于:根據(jù)第三獲取單元的認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù);
在一些實施方式中,執(zhí)行模塊具體用于:當(dāng)接收模塊接收到讀記錄命令時,讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志;執(zhí)行模塊具體包括:第三獲取單元,用于依據(jù)接收模塊接收到的讀記錄命令讀取相應(yīng)卡片記錄,判斷讀記錄命令是否為最后一條讀記錄命令,是則根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志;發(fā)送模塊還用于:向客戶端返回包含第三獲取單元讀取到的卡片記錄的讀記錄成功響應(yīng);
在一些實施方式中,執(zhí)行模塊具體用于:當(dāng)接收模塊接收到脫機(jī)交易命令時,讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志;執(zhí)行模塊具體包括:第三獲取單元,用于根據(jù)處理選項讀取卡片記錄,根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,并根據(jù)處理選項和卡片記錄執(zhí)行數(shù)據(jù)認(rèn)證操作;發(fā)送模塊還用于:根據(jù)第三獲取單元的認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù)。
再進(jìn)一步地:
在一些實施方式中,執(zhí)行模塊具體包括:卡片記錄讀取單元,用于根據(jù)應(yīng)用文件定位器確定卡片記錄所在應(yīng)用文件的短文件標(biāo)識以及卡片記錄的記錄號,獲取與短文件標(biāo)識對應(yīng)的應(yīng)用基本文件,讀取所述應(yīng)用基本文件中與所述記錄號對應(yīng)的卡片記錄;
在一些實施方式中,執(zhí)行模塊具體包括:卡片記錄讀取單元,用于從讀記錄命令中獲取卡片記錄所在應(yīng)用文件的段文件標(biāo)識以及卡片記錄的記錄號,獲取與所述短文件標(biāo)識對應(yīng)的應(yīng)用基本文件,讀取所述應(yīng)用基本文件中與所述記錄號對應(yīng)的卡片記錄。
另一方面,本發(fā)明提供一種基于可視金融ic卡的脫機(jī)交易方法,其特征在于,包括:
步驟s1、可視金融ic卡接收客戶端發(fā)送的藍(lán)牙配對請求,生成并顯示配對標(biāo)識,當(dāng)接收到驗證請求時,根據(jù)配對標(biāo)識對客戶端進(jìn)行驗證,若驗證通過則執(zhí)行步驟s2,否則顯示相應(yīng)提示信息,結(jié)束流程;
步驟s2、可視金融ic卡向客戶端返回藍(lán)牙配對響應(yīng),與客戶端建立藍(lán)牙連接,等待并接收客戶端下發(fā)的命令;
當(dāng)可視金融ic卡接收到客戶端下發(fā)的第一預(yù)設(shè)命令時,上述方法還包括:可視金融ic卡選擇應(yīng)用;
當(dāng)可視金融ic卡接收到客戶端下發(fā)的第二預(yù)設(shè)命令時,上述方法還包括:可視金融ic卡獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項;
當(dāng)可視金融ic卡接收到客戶端下發(fā)的第三預(yù)設(shè)命令時,上述方法還包括:可視金融ic卡讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志。
具體地,本發(fā)明中:
終端數(shù)據(jù)可以包括:電子現(xiàn)金終端支持指示器、授權(quán)金額和交易貨幣代碼;
處理選項可以包括:應(yīng)用交互特征和應(yīng)用文件定位器;
讀取卡片記錄可以具體包括:確定卡片記錄所在應(yīng)用文件的短文件標(biāo)識以及卡片記錄的記錄號,獲取與所述短文件標(biāo)識對應(yīng)的應(yīng)用基本文件,讀取所述應(yīng)用基本文件中與所述記錄號對應(yīng)的卡片記錄。
在一些實施方式中,第一預(yù)設(shè)命令具體為選擇命令;選擇應(yīng)用具體包括:判斷是否允許執(zhí)行選擇命令中的應(yīng)用標(biāo)識對應(yīng)的應(yīng)用,是則向客戶端返回應(yīng)用選擇成功響應(yīng),否則向客戶端返回應(yīng)用選擇失敗響應(yīng);
在一些實施方式中,第一預(yù)設(shè)命令具體為選擇命令;選擇應(yīng)用具體包括:判斷是否允許執(zhí)行選擇命令中的應(yīng)用標(biāo)識對應(yīng)的應(yīng)用,是則向客戶端返回包含處理選項數(shù)據(jù)對象列表的應(yīng)用選擇成功響應(yīng),否則向客戶端返回應(yīng)用選擇失敗響應(yīng);
在一些實施方式中,第一預(yù)設(shè)命令為脫機(jī)交易命令;選擇應(yīng)用具體包括:建立應(yīng)用候選列表,依據(jù)應(yīng)用候選列表選擇應(yīng)用,并且當(dāng)選擇應(yīng)用失敗時向客戶端返回應(yīng)用選擇失敗響應(yīng)。
進(jìn)一步地:
在一些實施方式中,可視金融ic卡向客戶端返回應(yīng)用選擇成功響應(yīng)之后,還包括:接收客戶端發(fā)送的交易金額;第二預(yù)設(shè)命令為獲取處理選項命令;獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項,具體包括:根據(jù)處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項,向客戶端返回獲取處理選項成功響應(yīng),否則向客戶端返回獲取處理選項失敗響應(yīng);其中,獲取處理選項成功響應(yīng)中可以包含處理選項;
在一些實施方式中,第二預(yù)設(shè)命令為獲取處理選項命令;獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項,具體包括:從獲取處理選項命令中獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項,向客戶端返回獲取處理選項成功響應(yīng),否則向客戶端返回獲取處理選項失敗響應(yīng);其中,獲取處理選項成功響應(yīng)中可以包含處理選項;
在一些實施方式中,第二預(yù)設(shè)命令為脫機(jī)交易命令;獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項,具體包括:獲取脫機(jī)交易命令中的交易金額,根據(jù)處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項,否則向客戶端返回獲取處理選項失敗響應(yīng)。
更進(jìn)一步地:
在一些實施方式中,第三預(yù)設(shè)命令為脫機(jī)交易命令;終端數(shù)據(jù)包括授權(quán)金額;讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志,具體包括:根據(jù)處理選項讀取卡片記錄,根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作,根據(jù)認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù);
在一些實施方式中,第三預(yù)設(shè)命令為讀記錄命令;終端數(shù)據(jù)包括授權(quán)金額;讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志,具體包括:依據(jù)讀記錄命令讀取相應(yīng)卡片記錄,判斷讀記錄命令是否為最后一條讀記錄命令,是則根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,向客戶端返回包含所述卡片記錄的讀記錄成功響應(yīng),否則向客戶端返回包含所述卡片記錄的讀記錄成功響應(yīng);
在一些實施方式中,第三預(yù)設(shè)命令為脫機(jī)交易命令;終端數(shù)據(jù)包括授權(quán)金額;讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志,具體包括:根據(jù)處理選項讀取卡片記錄,根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作,根據(jù)認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù)。
在一些實施方式中,處理選項包括應(yīng)用文件定位器;讀取卡片記錄具體包括:根據(jù)應(yīng)用文件定位器確定卡片記錄所在應(yīng)用文件的短文件標(biāo)識以及卡片記錄的記錄號,獲取與所述短文件標(biāo)識對應(yīng)的應(yīng)用基本文件,讀取所述應(yīng)用基本文件中與所述記錄號對應(yīng)的卡片記錄;
在一些實施方式中,讀取卡片記錄具體包括:從讀記錄命令中獲取卡片記錄所在應(yīng)用文件的短文件標(biāo)識以及卡片記錄的記錄號,獲取與所述短文件標(biāo)識對應(yīng)的應(yīng)用基本文件,讀取所述應(yīng)用基本文件中與所述記錄號對應(yīng)的卡片記錄。
本發(fā)明提供的一種基于可視金融ic卡的脫機(jī)交易方法還可以包括:
步驟t1、客戶端開啟藍(lán)牙掃描,從掃描到的設(shè)備中選擇可視金融ic卡,向可視金融ic卡發(fā)送藍(lán)牙配對請求;
步驟t2、客戶端等待并接收用戶輸入的配對標(biāo)識,生成包含配對標(biāo)識的驗證請求,向可視金融ic卡發(fā)送驗證請求;
步驟t3、客戶端等待并接收可視金融ic卡返回的藍(lán)牙配對響應(yīng),與可視金融ic卡建立藍(lán)牙連接;
步驟t4、客戶端獲取用戶輸入的交易金額,向可視金融ic卡下發(fā)命令。
在一些實施方式中,客戶端向可視金融ic卡下發(fā)命令包括:建立應(yīng)用候選列表,依據(jù)應(yīng)用候選列表向可視金融ic卡下發(fā)選擇命令;上述第一預(yù)設(shè)命令為所述選擇命令;
進(jìn)一步地,客戶端向可視金融ic卡下發(fā)命令還包括:向可視金融ic卡下發(fā)獲取處理選項命令;上述第二預(yù)設(shè)命令為所述獲取處理選項命令;
其中,客戶端向可視金融ic卡下發(fā)獲取處理選項命令之前還包括:客戶端根據(jù)處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù);客戶端向可視金融ic卡下發(fā)的獲取處理選項命令中,包含客戶端獲取到的終端數(shù)據(jù);
更進(jìn)一步地,客戶端向可視金融ic卡下發(fā)獲取處理選項命令之后還包括:客戶端根據(jù)獲取處理選項成功響應(yīng)中的處理選項向可視金融ic卡下發(fā)讀記錄命令;上述第三預(yù)設(shè)命令為讀記錄命令;
其中,客戶端根據(jù)獲取處理選項成功響應(yīng)中的處理選項向可視金融ic卡下發(fā)讀記錄命令,具體包括:根據(jù)獲取處理選項成功響應(yīng)中的處理選項確定卡片記錄所在應(yīng)用文件的短文件標(biāo)識以及卡片記錄的記錄號,向可視金融ic卡下發(fā)包含短文件標(biāo)識和記錄號的讀記錄命令。
在一些實施方式中,客戶端向可視金融ic卡下發(fā)命令包括:客戶端向可視金融下發(fā)脫機(jī)交易命令;上述第三預(yù)設(shè)命令為所述脫機(jī)交易命令;
進(jìn)一步地,客戶端向可視金融ic卡下發(fā)命令包括:客戶端向可視金融ic卡下發(fā)脫機(jī)交易命令;其中,客戶端向可視金融ic卡下發(fā)的脫機(jī)交易命令中,包含交易金額;上述第二預(yù)設(shè)命令也為所述脫機(jī)交易命令,或者上述第一預(yù)設(shè)命令和第二預(yù)設(shè)也為所述脫機(jī)交易命令。
本發(fā)明的有益效果在于:采用本發(fā)明提供的技術(shù)方案,不需要借助pos機(jī)等交易終端即可實現(xiàn)金融ic卡的脫機(jī)交易,能夠提高金融ic卡脫機(jī)交易的安全性和便捷性。
附圖說明
圖1為在本發(fā)明實施例2提供的一種基于可視金融ic卡的脫機(jī)交易方法中可視金融ic卡的操作流程圖;
圖2和圖3為本發(fā)明實施例2提供的一種基于可視金融ic卡的脫機(jī)交易方法的流程圖;
圖4為本發(fā)明實施例3提供的一種基于可視金融ic卡的脫機(jī)交易方法中可視金融ic卡的操作流程圖;
圖5為本發(fā)明實施例3提供的一種基于可視金融ic卡的脫機(jī)交易方法的流程圖;
圖6為本發(fā)明實施例4提供的一種基于可視金融ic卡的脫機(jī)交易方法中可視金融ic卡的操作流程圖;
圖7為本發(fā)明實施例4提供的一種基于可視金融ic卡的脫機(jī)交易方法的流程圖;
圖8為本發(fā)明實施例5提供的一種可視金融ic卡的方框圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
實施例1
本發(fā)明提供一種基于可視金融ic卡的脫機(jī)交易方法,應(yīng)用于包括可視金融ic卡和客戶端的系統(tǒng)中,客戶端為安裝在終端設(shè)備中的應(yīng)用程序,方法包括可視金融ic卡執(zhí)行以下步驟:
步驟11,接收客戶端發(fā)送的藍(lán)牙配對請求,生成并顯示配對標(biāo)識。
步驟12,當(dāng)接收到驗證請求時,根據(jù)配對標(biāo)識對客戶端進(jìn)行驗證,若驗證通過則執(zhí)行步驟13,否則顯示相應(yīng)提示信息,結(jié)束流程。
步驟13,向客戶端返回藍(lán)牙配對響應(yīng),與客戶端建立藍(lán)牙連接,等待并接收客戶端下發(fā)的命令;
當(dāng)可視金融ic卡接收到客戶端下發(fā)的第一預(yù)設(shè)命令時,方法還包括可視金融ic卡執(zhí)行:選擇應(yīng)用;
本實施例中,終端數(shù)據(jù)包括:獲取終端數(shù)據(jù),電子現(xiàn)金終端支持指示器、授權(quán)金額和交易貨幣代碼;
當(dāng)可視金融ic卡接收到客戶端下發(fā)的第二預(yù)設(shè)命令時,方法還包括可視金融ic卡執(zhí)行:根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項;
本實施例中,處理選項包括:應(yīng)用交互特征和應(yīng)用文件定位器;
當(dāng)可視金融ic卡接收到客戶端下發(fā)的第三預(yù)設(shè)命令時,方法還包括可視金融ic卡執(zhí)行:讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志;
本實施例中,讀取卡片記錄包括:確定卡片記錄所在應(yīng)用文件的短文件標(biāo)識以及卡片記錄的記錄號,獲取與確定的短文件標(biāo)識對應(yīng)的應(yīng)用基本文件,讀取應(yīng)用基本文件中與確定的記錄號對應(yīng)的卡片記錄。
在本實施例的一種具體實施方式中,第一預(yù)設(shè)命令為選擇命令,第二預(yù)設(shè)命令為獲取處理選項命令,第三預(yù)設(shè)命令為讀記錄命令;
在該具體實施方式中:
選擇應(yīng)用具體包括:判斷是否允許執(zhí)行選擇命令中的應(yīng)用標(biāo)識對應(yīng)的應(yīng)用,是則向客戶端返回包含處理選項數(shù)據(jù)對象列表的應(yīng)用選擇成功響應(yīng),否則向客戶端返回應(yīng)用選擇失敗響應(yīng);
獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項,具體包括:從獲取處理選項命令中獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項,向客戶端返回包含處理選項的獲取處理選項成功響應(yīng),否則向客戶端返回獲取處理選項失敗響應(yīng);
讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志,具體包括:依據(jù)讀記錄命令讀取相應(yīng)卡片記錄,判斷讀記錄命令是否為最后一條讀記錄命令,是則根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,向客戶端返回包含卡片記錄的讀記錄成功響應(yīng),否則向客戶端返回包含卡片記錄的讀記錄成功響應(yīng);
或者,在該具體實施方式中:
選擇應(yīng)用具體包括:判斷是否允許執(zhí)行選擇命令中的應(yīng)用標(biāo)識對應(yīng)的應(yīng)用,是則向客戶端返回應(yīng)用選擇成功響應(yīng),接收客戶端發(fā)送的交易金額,否則向客戶端返回應(yīng)用選擇失敗響應(yīng);
獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項,具體包括:根據(jù)處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項,向客戶端返回包含處理選項的獲取處理選項成功響應(yīng),否則向客戶端返回獲取處理選項失敗響應(yīng);
讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志,具體包括:依據(jù)讀記錄命令讀取相應(yīng)卡片記錄,判斷讀記錄命令是否為最后一條讀記錄命令,是則根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,向客戶端返回包含卡片記錄的讀記錄成功響應(yīng),否則向客戶端返回包含卡片記錄的讀記錄成功響應(yīng);
在該具體實施方式中,讀取卡片記錄具體包括:從讀記錄命令中獲取卡片記錄所在應(yīng)用文件的短文件標(biāo)識以及卡片記錄的記錄號,獲取與獲取到的短文件標(biāo)識對應(yīng)的應(yīng)用基本文件,讀取應(yīng)用基本文件中與獲取到的記錄號對應(yīng)的卡片記錄。
在本實施例的另一種具體實施方式中,第一預(yù)設(shè)命令為選擇命令,第二預(yù)設(shè)命令為獲取處理選項命令,第三預(yù)設(shè)命令為脫機(jī)交易命令;
在該具體實施方式中:
選擇應(yīng)用具體包括:判斷是否允許執(zhí)行選擇命令中的應(yīng)用標(biāo)識對應(yīng)的應(yīng)用,是則向客戶端返回包含處理選項數(shù)據(jù)對象列表的應(yīng)用選擇成功響應(yīng),否則向客戶端返回應(yīng)用選擇失敗響應(yīng);
獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項,具體包括:從獲取處理選項命令中獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項,向客戶端返回獲取處理選項成功響應(yīng),否則向客戶端返回獲取處理選項失敗響應(yīng);
讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志,具體包括:根據(jù)處理選項讀取卡片記錄,根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,并根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作,根據(jù)認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù);
或者,在該具體實施方式中:
選擇應(yīng)用具體包括:判斷是否允許執(zhí)行選擇命令中的應(yīng)用標(biāo)識對應(yīng)的應(yīng)用,是則向客戶端返回應(yīng)用選擇成功響應(yīng),接收客戶端發(fā)送的交易金額,否則向客戶端返回應(yīng)用選擇失敗響應(yīng);
獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項,具體包括:根據(jù)處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項,向客戶端返回獲取處理選項成功響應(yīng);否則向客戶端返回獲取處理選項失敗響應(yīng);
讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志,具體包括:根據(jù)處理選項讀取卡片記錄,根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,并根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作,根據(jù)認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù);
在該具體實施方式中,讀取卡片記錄具體包括:根據(jù)應(yīng)用文件定位器確定卡片記錄所在應(yīng)用文件的短文件標(biāo)識以及卡片記錄的記錄號,獲取與確定的短文件標(biāo)識對應(yīng)的應(yīng)用基本文件,讀取應(yīng)用基本文件中與確定的記錄號對應(yīng)的卡片記錄。
在本實施例的又一種具體實施方式中,第一預(yù)設(shè)命令為選擇命令,第二預(yù)設(shè)命令和第三預(yù)設(shè)命令為同一條脫機(jī)交易命令;
在該具體實施方式中:
選擇應(yīng)用,具體包括:判斷是否允許執(zhí)行選擇命令中的應(yīng)用標(biāo)識對應(yīng)的應(yīng)用,是則向客戶端返回應(yīng)用選擇成功響應(yīng),否則向客戶端返回應(yīng)用選擇失敗響應(yīng);
獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項,具體包括:獲取脫機(jī)交易命令中的交易金額,根據(jù)處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項,否則向客戶端返回獲取處理選項失敗響應(yīng);
讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志,具體包括:根據(jù)處理選項讀取卡片記錄,根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,并根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作,根據(jù)認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù)。
在本實施例的再一種具體實施方式中,第一預(yù)設(shè)命令、第二預(yù)設(shè)命令和第三預(yù)設(shè)命令為同一條脫機(jī)交易命令;
在該具體實施方式中,選擇應(yīng)用具體包括:建立應(yīng)用候選列表,依據(jù)應(yīng)用候選列表選擇應(yīng)用,并且當(dāng)選擇應(yīng)用失敗時向客戶端返回應(yīng)用選擇失敗響應(yīng);
獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項,具體包括:獲取脫機(jī)交易命中的交易金額,根據(jù)處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項,否則向客戶端返回獲取處理選項失敗響應(yīng);
讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志,具體包括:根據(jù)處理選項讀取卡片記錄,根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,并根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作,根據(jù)認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù)。
本實施例中,方法還包括客戶端執(zhí)行以下步驟:
步驟21,開啟藍(lán)牙掃描,從掃描到的設(shè)備中選擇可視金融ic卡,向可視金融ic卡發(fā)送藍(lán)牙配對請求;
步驟22,等待并接收用戶輸入的配對標(biāo)識,生成包含接收到的配對標(biāo)識的驗證請求,向可視金融卡發(fā)送驗證請求;
步驟23,等待并接收可視金融ic卡返回的藍(lán)牙配對響應(yīng),與可視金融ic卡建立藍(lán)牙連接;
步驟24,獲取用戶輸入的交易金額,向可視金融ic卡下發(fā)命令。
在本實施例的一種具體實施方式中,客戶端向可視金融ic卡下發(fā)的命令包括:選擇命令、獲取處理選項命令和讀記錄命令;
具體地,在該具體實施方式中:
客戶端建立應(yīng)用候選列表,依據(jù)應(yīng)用候選列表向可視金融ic卡下發(fā)選擇命令,接收可視金融ic卡返回的應(yīng)用選擇成功響應(yīng);根據(jù)應(yīng)用選擇成功響應(yīng)中的處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù),向可視金融ic卡下發(fā)包含終端數(shù)據(jù)的獲取處理選項命令,接收可視金融ic卡返回的獲取處理選項成功響應(yīng);根據(jù)獲取處理選項成功響應(yīng)中的處理選項向可視金融ic卡下發(fā)讀記錄命令;
或者,客戶端建立應(yīng)用候選列表,依據(jù)應(yīng)用候選列表向可視金融ic卡下發(fā)選擇命令,接收可視金融ic卡返回的應(yīng)用選擇成功響應(yīng);向可視金融ic卡下發(fā)交易金額和獲取處理選項命令,接收可視金融ic卡返回的獲取處理選項成功響應(yīng);根據(jù)獲取處理選項成功響應(yīng)中的處理選項向可視金融ic卡下發(fā)讀記錄命令;
在本實施例中,根據(jù)獲取處理選項成功響應(yīng)中的處理選項向可視金融ic卡下發(fā)讀記錄命令,具體包括:根據(jù)獲取處理選項成功響應(yīng)中的處理選項確定卡片記錄所在應(yīng)用文件的段文件標(biāo)識以及卡片記錄的記錄號,向可視金融ic卡下發(fā)包含確定的段文件標(biāo)識和記錄號的讀記錄命令。
在本實施例的另一種具體實施方式中,客戶端向可視金融ic卡下發(fā)的命令包括:選擇命令、獲取處理選項命令和脫機(jī)交易命令;
具體地,在該具體實施方式中:客戶端建立應(yīng)用候選列表,依據(jù)應(yīng)用候選列表向可視金融ic卡下發(fā)選擇命令,接收可視金融ic卡返回的應(yīng)用選擇成功響應(yīng);根據(jù)應(yīng)用選擇成功響應(yīng)中的處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù),向可視金融ic卡下發(fā)包含終端數(shù)據(jù)的獲取處理選項命令,接收可視金融ic卡返回的獲取處理選項成功響應(yīng);向可視金融ic卡下發(fā)脫機(jī)交易命令,接收可視金融ic卡返回的交易記錄數(shù)據(jù);
或者,客戶端建立應(yīng)用候選列表,依據(jù)應(yīng)用候選列表向可視金融ic卡下發(fā)選擇命令,接收可視金融ic卡返回的應(yīng)用選擇成功響應(yīng);向可視金融ic卡下發(fā)交易金額和獲取處理選項命令,接收可視金融ic卡返回的獲取處理選項成功響應(yīng);向可視金融ic卡下發(fā)脫機(jī)交易命令,接收可視金融ic卡返回的交易記錄數(shù)據(jù)。
在本實施例的又一種具體實施方式中,客戶端向可視金融ic卡下發(fā)的命令包括:選擇命令和脫機(jī)交易命令;
具體地,在該具體實施方式中:客戶端建立應(yīng)用候選列表,依據(jù)應(yīng)用候選列表向可視金融ic卡下發(fā)選擇命令,接收可視金融ic卡返回的應(yīng)用選擇成功響應(yīng);向可視金融ic卡下發(fā)包含交易金額的脫機(jī)交易命令,接收可視金融ic卡返回的交易記錄數(shù)據(jù)。
在本實施例的再一種具體實施方式中,客戶端向可視金融ic卡下發(fā)的命令包括:脫機(jī)交易命令;
具體地,在該具體實施方式中:客戶端向可視金融ic卡下發(fā)包含交易金額的脫機(jī)交易命令,接收可視金融ic卡返回的交易記錄數(shù)據(jù)。
實施例2
本發(fā)明實施例在實施例1的基礎(chǔ)上,以第一預(yù)設(shè)命令為選擇命令,第二預(yù)設(shè)命令為獲取處理選項命令,第三預(yù)設(shè)命令為讀記錄命令為例,提供一種基于可視金融ic卡的脫機(jī)交易方法,應(yīng)用于包括可視金融ic卡和客戶端的系統(tǒng)中,客戶端為安裝在終端設(shè)備中的應(yīng)用程序。
首先,如圖1所示,在本實施例提供的方法中,可視金融ic卡執(zhí)行以下步驟:
步驟a1,可視金融ic卡接收客戶端發(fā)送的藍(lán)牙配對請求,向客戶端返回藍(lán)牙配對響應(yīng),與客戶端建立藍(lán)牙連接。
進(jìn)一步地,可視金融ic卡接收藍(lán)牙配對請求之后,向客戶端返回藍(lán)牙配對響應(yīng)前,還可以包括:
步驟a1,可視金融ic卡生成并顯示pin碼,接收客戶端發(fā)送的驗證請求;
步驟a2,可視金融ic卡判斷上一次生成的pin碼是否與驗證請求中的pin碼相同,如果是則向客戶端返回藍(lán)牙配對響應(yīng),否則執(zhí)行步驟a3;
步驟a3,可視金融ic卡顯示驗證失敗信息,結(jié)束流程。
更進(jìn)一步地,步驟a2中,可視金融ic卡判斷上一次生成的pin碼與驗證請求中的pin碼不相同后,執(zhí)行步驟a3之前還可以包括:
步驟b1,可視金融ic卡更新驗證失敗次數(shù),判斷驗證失敗次數(shù)是否為第一預(yù)設(shè)值,如果是,則執(zhí)行步驟a3,否則返回步驟a1;
相應(yīng)地,步驟a3中,可視金融ic卡判斷上一次生成的pin碼與驗證請求中的pin碼相同后,還包括設(shè)置驗證失敗次數(shù)為初始值;
例如,驗證失敗次數(shù)的初始值為0,步驟b1中更新驗證失敗次數(shù)為其當(dāng)前值加上1,第一預(yù)設(shè)值為6。
步驟a2,可視金融ic卡接收客戶端發(fā)送的命令,若接收到客戶端發(fā)送的選擇命令則執(zhí)行步驟a3,若接收到客戶端發(fā)送的獲取處理選項命令則執(zhí)行步驟a4,若接收到客戶端發(fā)送的讀記錄命令則執(zhí)行步驟a6,否則顯示交易失敗,結(jié)束流程。
具體地,可視金融ic卡接收到客戶端發(fā)送的命令后,檢查命令的前兩個字節(jié),若命令的前兩個字節(jié)的值為“00a4”則確定接收到客戶端發(fā)送的選擇命令,若命令的前兩個字節(jié)為“80a8”則確定接收到客戶端發(fā)送的獲取處理選項命令,若命令的前兩個字節(jié)為“00b2”則確定接收到客戶端發(fā)送的讀記錄命令。
步驟a3,可視金融ic卡選擇應(yīng)用,向客戶端返回選擇響應(yīng),返回步驟a2。
具體地,可視金融ic卡接收到客戶端發(fā)送的選擇命令后,判斷是否允許執(zhí)行選擇命令中的aid對應(yīng)的應(yīng)用,是則向客戶端返回包含fci(filecontrolinformation,文件控制信息)的應(yīng)用選擇成功響應(yīng),fci中包含處理選項數(shù)據(jù)對象列表(pdol),可視金融ic卡通過pdol向客戶端請求電子現(xiàn)金終端支持指示器、授權(quán)金額和交易貨幣代碼;否則向客戶端返回應(yīng)用選擇失敗響應(yīng)。
步驟a4,可視金融ic卡從獲取處理選項命令中獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查。
本實施例中,終端數(shù)據(jù)包括:電子現(xiàn)金終端支持指示器、授權(quán)金額和交易貨幣代碼;
可視金融ic卡根據(jù)以下條件執(zhí)行限制檢查:
電子現(xiàn)金終端支持指示器為“01”;
交易貨幣代碼與應(yīng)用貨幣代碼匹配;
授權(quán)金額不超過電子現(xiàn)金余額;
授權(quán)金額不超過電子現(xiàn)金單筆交易限額;
發(fā)卡行認(rèn)證失敗指示器為0;
發(fā)卡行腳本處理失敗指示器為0;
pin嘗試計數(shù)器不為“00”;
其中,應(yīng)用貨幣代碼、電子現(xiàn)金余額、電子現(xiàn)金單筆交易限額、發(fā)卡行認(rèn)證失敗指示器、發(fā)卡行腳本處理失敗指示器和pin嘗試計數(shù)器均為可視金融ic卡中的數(shù)據(jù);
若以上條件均滿足則限制檢查通過,否則限制檢查未通過;
優(yōu)選地,使用條件不滿足狀態(tài)碼為“6985”。
例如,可視金融ic卡接收到的獲取處理選項命令為:“80a8000024832201561747230000000000123401564645495449414e20534146452020202020202020”,可視金融ic卡讀取獲取處理選項命令的第13個字節(jié)“00”得到電子現(xiàn)金終端支持指示器,讀取獲取處理選項命令的第14個字節(jié)至第19個字節(jié)“000000001234”得到授權(quán)金額,讀取獲取處理選項命令的第20個字節(jié)至第21個字節(jié)“0156”得到交易貨幣代碼。
步驟a5,可視金融ic卡根據(jù)限制檢查結(jié)果生成獲取處理選項命令響應(yīng),向客戶端返回獲取處理選項命令響應(yīng),返回步驟a2。
優(yōu)選地,參見圖2,可視金融ic卡根據(jù)獲取到的數(shù)據(jù)執(zhí)行限制檢查,根據(jù)限制檢查結(jié)果生成獲取處理選項命令響應(yīng),包括執(zhí)行以下步驟:
步驟c1,判斷電子現(xiàn)金終端指示器是否為“01”,是則執(zhí)行步驟c2,否則執(zhí)行步驟c9;
步驟c2,判斷交易貨幣代碼是否等于應(yīng)用貨幣代碼,是則執(zhí)行步驟c3,否則執(zhí)行步驟c9;
步驟c3,判斷授權(quán)金額是否大于電子現(xiàn)金余額,是則執(zhí)行步驟c9,否則執(zhí)行步驟c4;
步驟c4,判斷授權(quán)金額是否大于電子現(xiàn)金單筆交易限額,是則執(zhí)行步驟c9,否則執(zhí)行步驟c5;
步驟c5,判斷發(fā)卡行認(rèn)證失敗指示器是否等于0,是則執(zhí)行步驟c6,否則執(zhí)行步驟c9;
步驟c6,判斷發(fā)卡行腳本處理失敗指示器是否等于0,是則執(zhí)行步驟c7,否則執(zhí)行步驟c9;
步驟c7,判斷pin嘗試計數(shù)器是否等于“00”,是則執(zhí)行步驟c9,否則執(zhí)行步驟c8;
步驟c8,生成包含aip和afl的獲取處理選項成功響應(yīng);
步驟c9,生成包含使用條件不滿足狀態(tài)碼的獲取處理選項失敗響應(yīng)。
進(jìn)一步地,限制檢查通過后還包括:可視金融ic卡將cid(cryptograminformationdata,密文信息數(shù)據(jù))和cvr(cardverificationresults,卡片驗證結(jié)果)置零。
步驟a6,可視金融ic卡根據(jù)讀記錄命令確定客戶端要讀取的卡片記錄,獲取相應(yīng)的卡片記錄,根據(jù)獲取到的卡片記錄生成讀記錄命令響應(yīng)。
具體地,可視金融ic卡根據(jù)讀記錄命令中的sfi(shortfileidentifier,短文件標(biāo)識)和記錄號確定客戶端要讀取的卡片記錄,從具有所述sfi的aef(applicationelementaryflies,應(yīng)用基本文件)中獲取所述記錄號對應(yīng)的卡片記錄。
步驟a7,可視金融ic卡根據(jù)讀記錄命令中的sfi和記錄號判斷讀記錄命令是否是最后一條讀記錄命令,是則執(zhí)行步驟a9,否則執(zhí)行步驟a8。
具體地,可視金融ic卡根據(jù)讀記錄命令中的sfi和記錄號判斷讀記錄命令讀取的卡片記錄是否為可視金融ic卡通過afl指定的客戶端需要讀取的卡片記錄中的最后一條,是則確定讀記錄命令是最后一條讀記錄命令,否則確定讀記錄命令不是最后一條讀記錄命令。
步驟a8,可視金融ic卡向客戶端返回讀記錄命令響應(yīng),返回步驟a2。
步驟a9,可視金融ic卡向客戶端返回讀記錄命令響應(yīng),并根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成以及保存交易日志,顯示扣款成功,結(jié)束流程。
其次,在上述內(nèi)容的基礎(chǔ)上,如圖2和圖3所示,在本實施例提供的方法具體包括:
步驟101,客戶端開啟藍(lán)牙掃描,從掃描到的設(shè)備中選擇可視金融ic卡。
具體地,客戶端自動識別和選擇可視金融ic卡,或者客戶端顯示掃描到的設(shè)備的信息,根據(jù)用戶輸入確定和選擇可視金融ic卡。
步驟102,客戶端向可視金融ic卡發(fā)送藍(lán)牙配對請求。
步驟103,可視金融ic卡接收藍(lán)牙配對請求;
步驟104,可視金融ic卡向客戶端返回藍(lán)牙配對響應(yīng)。
進(jìn)一步地,可視金融ic卡接收藍(lán)牙配對請求之后,向客戶端返回藍(lán)牙配對響應(yīng)前,還可以包括:
步驟1-1,可視金融ic卡生成并顯示pin碼;
步驟1-2,客戶端獲取用戶輸入的pin碼,生成包含該pin碼的驗證請求;
步驟1-3,客戶端向可視金融ic卡發(fā)送驗證請求;
步驟1-4,可視金融ic卡接收驗證請求,判斷上一次生成的pin碼是否與驗證請求中的pin碼相同,如果是,則執(zhí)行步驟104;否則,執(zhí)行步驟1-5;
步驟1-5,可視金融ic卡顯示驗證失敗信息,結(jié)束流程。
更進(jìn)一步地,步驟1-4中,可視金融ic卡判斷上一次生成的pin碼與驗證請求中的pin碼不相同后,執(zhí)行步驟1-5之前還可以包括:
步驟2-1,可視金融ic卡更新驗證失敗次數(shù),判斷驗證失敗次數(shù)是否為第一預(yù)設(shè)值,如果是,則執(zhí)行步驟1-5;否則,返回步驟1-1;
相應(yīng)地,步驟1-4中,可視金融ic卡判斷上一次生成的pin碼與驗證請求中的pin碼相同后,還包括設(shè)置驗證失敗次數(shù)為初始值;
例如,驗證失敗次數(shù)的初始值為0,步驟2-1中更新驗證失敗次數(shù)為其當(dāng)前值加上1,第一預(yù)設(shè)值為3。
步驟105,客戶端與可視金融ic卡建立藍(lán)牙連接。
步驟106,客戶端獲取用戶輸入的交易金額,建立應(yīng)用候選列表。
具體地,客戶端采用目錄選擇方法或aid列表選擇方法建立應(yīng)用候選列表。
步驟107,客戶端從應(yīng)用候選列表中選擇一個應(yīng)用作為當(dāng)前應(yīng)用,根據(jù)當(dāng)前應(yīng)用的aid生成選擇命令。
具體地,客戶端自動從應(yīng)用候選列表中選擇應(yīng)用作為當(dāng)前應(yīng)用,或客戶端將應(yīng)用候選列表中應(yīng)用信息顯示給用戶,接收用戶輸入,根據(jù)用戶輸入的選擇信息或確認(rèn)信息選擇應(yīng)用作為當(dāng)前應(yīng)用。
步驟108,客戶端向可視金融ic卡發(fā)送選擇命令。
例如,當(dāng)前應(yīng)用的aid為“a000000632010106”,客戶端向可視金融ic卡下發(fā)選擇命令:“00a4040008a000000632010106”。
步驟109,可視金融ic卡接收選擇命令,選擇應(yīng)用。
步驟110,可視金融ic卡向客戶端返回選擇響應(yīng)。
本實施例中,選擇響應(yīng)包括應(yīng)用選擇成功響應(yīng)和應(yīng)用選擇失敗響應(yīng);具體地,可視金融ic卡接收選擇命令后,判斷是否允許執(zhí)行選擇命令中的aid對應(yīng)的應(yīng)用,是則向客戶端返回應(yīng)用選擇成功響應(yīng),否則向客戶端返回應(yīng)用選擇失敗響應(yīng);
進(jìn)一步地,應(yīng)用選擇成功響應(yīng)中包含fci,fci中包含pdol,可視金融ic卡通過pdol向客戶端請求終端數(shù)據(jù);
本實施例中,可視金融ic卡向客戶端請求的終端數(shù)據(jù)包括:請求電子現(xiàn)金終端支持指示器、授權(quán)金額和交易貨幣代碼;
例如,可視金融ic卡接收到的選擇命令為“00a4040008a000000632010106”,可視金融ic卡向客戶端返回:“6f81828408a000000632010106a576500b50424f43204372656469748701019f38129f1a029f21039f7a019f02065f2a029f4e145f2d087a68656e667264659f1101019f120f4341524420494d4147452030303031bf0c2ddf112009991001ffffffff013222220711520768888f010100000156100010010001009f4d020b0adf4d020c0a9000”,其中最后兩個字節(jié)“9000”是表示選擇成功的狀態(tài)碼,該狀態(tài)碼之前是fci,fci中的“9f38129f1a029f21039f7a019f02065f2a029f4e14”為pdol。
步驟111,客戶端接收選擇響應(yīng),根據(jù)選擇響應(yīng)判斷當(dāng)前應(yīng)用是否選擇成功,是則執(zhí)行步驟113,否則執(zhí)行步驟112。
具體地,客戶端判斷選擇響應(yīng)的類型,若為應(yīng)用選擇成功響應(yīng)則確定當(dāng)前應(yīng)用選擇成功,若為應(yīng)用選擇失敗響應(yīng)則確定當(dāng)前應(yīng)用選擇失??;
進(jìn)一步地,客戶端檢查選擇響應(yīng)中的狀態(tài)碼,若選擇響應(yīng)中的狀態(tài)碼為表示選擇成功的狀態(tài)碼則確定選擇響應(yīng)為應(yīng)用選擇成功響應(yīng),否則確定選擇響應(yīng)為應(yīng)用選擇失敗響應(yīng);
優(yōu)選地,表示選擇成功的狀態(tài)碼為“9000”。
步驟112,客戶端從應(yīng)用候選列表中移除當(dāng)前應(yīng)用,判斷應(yīng)用候選列表中是否還有應(yīng)用,是則返回步驟107,否則結(jié)束流程。
步驟113,客戶端獲取選擇響應(yīng)中的pdol,根據(jù)pdol獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)生成獲取處理選項命令。
本實施例中,客戶端根據(jù)pdol獲取終端數(shù)據(jù)包括:客戶端根據(jù)交易金額獲取授權(quán)金額,根據(jù)默認(rèn)配置獲取交易貨幣代碼,例如,默認(rèn)配置中指定交易貨幣代碼為人民幣貨幣代碼“0156”;根據(jù)以下條件獲取電子現(xiàn)金終端支持指示器:
客戶端交易類型為消費(fèi)交易;
客戶端支持電子現(xiàn)金交易;
授權(quán)金額小于客戶端電子現(xiàn)金交易限額,或者在客戶端電子現(xiàn)金交易限額不存在時授權(quán)金額小于客戶端最低限額;
若以上條件均滿足則獲取電子現(xiàn)金終端支持指示器為“01”,否則獲取電子現(xiàn)金終端支持指示器為“00”;
優(yōu)選地,客戶端可以執(zhí)行以下步驟獲取電子現(xiàn)金終端支持指示器:
步驟3-1,判斷客戶端交易類型是否為消費(fèi),是則執(zhí)行步驟3-2,否則獲取電子現(xiàn)金終端支持指示器為“00”;
步驟3-2,判斷自身是否支持電子現(xiàn)金,是則執(zhí)行步驟3-3,否則獲取電子現(xiàn)金終端支持指示器為“00”;
步驟3-3,判斷客戶端電子現(xiàn)金交易限額是否存在,是則執(zhí)行步驟3-4,否則執(zhí)行步驟3-5;
步驟3-4,判斷授權(quán)金額是否小于客戶端電子現(xiàn)金交易限額,是則獲取電子現(xiàn)金終端支持指示器為“01”,否則獲取電子現(xiàn)金終端支持指示器為“00”;
步驟3-5,判斷客戶端最低限額是否存在,是則執(zhí)行步驟3-6,否則獲取電子現(xiàn)金終端支持指示器為“00”;
步驟3-6,判斷授權(quán)金額是否小于客戶端最低限額,是則獲取電子現(xiàn)金終端支持指示器為“01”,否則獲取電子現(xiàn)金終端支持指示器為“00”。
進(jìn)一步地,本實施例中,可視金融ic卡請求的終端數(shù)據(jù)還可以包括終端國家代碼、交易時間和商戶名稱等。
例如,pdol為“9f38129f1a029f21039f7a019f02065f2a029f4e14”,其中“9f38”是pdol的tag,“12”表示長度;客戶端根據(jù)pdol中的“9f1a”確定可視金融ic卡請求提供tag為“9f1a”的元素的值,即終端國家代碼,長度為“02”;客戶端根據(jù)pdol中的“9f21”確定可視金融ic卡請求提供tag為“9f21”的元素的值,即交易時間,長度為“03”;客戶端根據(jù)pdol中的“9f7a”確定可視金融ic卡請求提供tag為“9f7a”的元素的值,即電子現(xiàn)金終端指示器,長度為“01”;客戶端根據(jù)pdol中的“9f02”確定可視金融ic卡請求提供tag為“9f02”的元素的值,即授權(quán)金額,長度為“06”;客戶端根據(jù)pdol中的“5f2a”確定可視金融ic卡請求提供tag為“5f2a”的元素的值,即交易貨幣代碼,長度為“02”;客戶端根據(jù)pdol中的“9f4e”確定可視金融ic卡請求提供tag為“9f4e”的元素的值,即商戶名稱,長度為“14”;
客戶端執(zhí)行pdol處理得到終端數(shù)據(jù):“01561747230000000000123401564645495449414e20534146452020202020202020”,其中第1至第2字節(jié)為終端國家代碼,第3至第5字節(jié)為交易時間,第6字節(jié)為電子現(xiàn)金終端指示器,第7至12字節(jié)為授權(quán)金額,第13至第14字節(jié)為交易貨幣代碼,第15至第34字節(jié)為商戶名稱;
客戶端根據(jù)終端數(shù)據(jù)生成獲取處理選項命令:“80a800002401561747230100000000123401564645495449414e20534146452020202020202020”。
步驟114,客戶端向可視金融ic卡發(fā)送獲取處理選項命令。
步驟115,可視金融ic卡接收獲取處理選項命令,從獲取處理選項命令中獲取終端數(shù)據(jù)。
步驟116,可視金融ic卡根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,根據(jù)限制檢查結(jié)果生成獲取處理選項命令響應(yīng)。
本實施例中,終端數(shù)據(jù)包括:電子現(xiàn)金終端支持指示器、授權(quán)金額和交易貨幣代碼;獲取處理選項命令響應(yīng)包括:獲取處理選項命令成功響應(yīng)和獲取處理選項命令失敗響應(yīng);
可視金融ic卡根據(jù)以下條件執(zhí)行限制檢查:
電子現(xiàn)金終端支持指示器為“01”;
交易貨幣代碼與應(yīng)用貨幣代碼匹配;
授權(quán)金額不超過電子現(xiàn)金余額;
授權(quán)金額不超過電子現(xiàn)金單筆交易限額;
發(fā)卡行認(rèn)證失敗指示器為0;
發(fā)卡行腳本處理失敗指示器為0;
pin嘗試計數(shù)器不為“00”;
其中,應(yīng)用貨幣代碼、電子現(xiàn)金余額、電子現(xiàn)金單筆交易限額、發(fā)卡行認(rèn)證失敗指示器、發(fā)卡行腳本處理失敗指示器和pin嘗試計數(shù)器均為可視金融ic卡中的數(shù)據(jù);
若以上條件均滿足則限制檢查通過,可視金融ic卡生成包含aip和afl的獲取處理選項成功響應(yīng);否則限制檢查未通過,可視金融ic卡生成包含使用條件不滿足狀態(tài)碼的獲取處理選項失敗響應(yīng);
優(yōu)選地,使用條件不滿足狀態(tài)碼為“6985”。
優(yōu)選地,步驟116包括可視金融ic卡執(zhí)行以下步驟:
步驟4-1,判斷電子現(xiàn)金終端指示器是否為“01”,是則執(zhí)行步驟4-2,否則執(zhí)行步驟4-9;
步驟4-2,判斷交易貨幣代碼是否等于應(yīng)用貨幣代碼,是則執(zhí)行步驟4-3,否則執(zhí)行步驟4-9;
步驟4-3,判斷授權(quán)金額是否大于電子現(xiàn)金余額,是則執(zhí)行步驟4-9,否則執(zhí)行步驟4-4;
步驟4-4,判斷授權(quán)金額是否大于電子現(xiàn)金單筆交易限額,是則執(zhí)行步驟4-9,否則執(zhí)行步驟4-5;
步驟4-5,判斷發(fā)卡行認(rèn)證失敗指示器是否等于0,是則執(zhí)行步驟4-6,否則執(zhí)行步驟4-9;
步驟4-6,判斷發(fā)卡行腳本處理失敗指示器是否等于0,是則執(zhí)行步驟4-7,否則執(zhí)行步驟4-9;
步驟4-7,判斷pin嘗試計數(shù)器是否等于“00”,是則執(zhí)行步驟4-9,否則執(zhí)行步驟4-8;
步驟4-8,生成包含aip和afl的獲取處理選項成功響應(yīng);
步驟4-9,生成包含使用條件不滿足狀態(tài)碼的獲取處理選項失敗響應(yīng)。
進(jìn)一步地,限制檢查通過后還包括:可視金融ic卡將cid和cvr置零。
步驟117,可視金融ic卡向客戶端返回獲取處理選項命令響應(yīng)。
例如,可視金融ic卡向客戶端返回:“800a7c000801020018030301”,其中“7c00”為aip,“0801020018030301”為afl。
步驟118,客戶端接收獲取處理選項命令響應(yīng),根據(jù)獲取處理選項命令響應(yīng)判斷獲取處理選項是否成功,是則執(zhí)行步驟119,否則返回步驟112。
步驟119,客戶端根據(jù)獲取處理選項命令響應(yīng)中的afl確定要讀取的卡片記錄,對應(yīng)生成讀記錄命令。
具體地,客戶端順序讀取afl中的一個afl項作為當(dāng)前afl項,根據(jù)當(dāng)前afl項的內(nèi)容確定當(dāng)前afl項指定要讀取的卡片記錄所在應(yīng)用文件的sfi,以及要讀取的卡片記錄的記錄號,生成包含當(dāng)前確定的sfi和記錄號的讀記錄命令。
步驟120,客戶端向可視金融ic卡發(fā)送讀記錄命令。
步驟121,可視金融ic卡接收讀記錄命令,讀取相應(yīng)卡片記錄,根據(jù)讀取到的卡片記錄生成讀記錄命令響應(yīng)。
具體地,可視金融ic卡獲取與讀記錄命令中的sfi對應(yīng)的aef,讀取該aef中與讀記錄命令中的記錄號對應(yīng)的卡片記錄。
步驟122,可視金融ic卡根據(jù)讀記錄命令中的sfi和記錄號判斷接收到的讀記錄命令是否為最后一條讀記錄命令,是則執(zhí)行步驟123,否則執(zhí)行步驟124。
具體地,可視金融ic卡根據(jù)讀記錄命令中的sfi和記錄號判斷接收到的讀記錄命令讀取的卡片記錄是否為可視金融ic卡通過afl指定的客戶端需要讀取的卡片記錄中的最后一條,是則確定接收到的讀記錄命令是最后一條讀記錄命令,否則確定接收到的讀記錄命令不是最后一條讀記錄命令。
步驟123,可視金融ic卡根據(jù)獲取處理選項命令中的授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,執(zhí)行步驟124。
步驟124,可視金融ic卡向客戶端返回讀記錄命令響應(yīng)。
步驟125,客戶端接收讀記錄命令響應(yīng),判斷是否還有要讀取的卡片記錄,是則返回步驟119,否則執(zhí)行步驟126。
具體地,客戶端判斷當(dāng)前接收到的讀記錄命令響應(yīng)中的卡片記錄是否是當(dāng)前afl項指定讀取的最后一條卡片記錄,若不是則確定還有要讀取的卡片記錄,若是則進(jìn)一步判斷獲取處理選項命令中的afl中是否還有未處理的afl項,若有則確定還有要讀取的卡片記錄,若沒有則確定沒有要讀取的卡片記錄。
步驟126,客戶端根據(jù)afl指明的用于脫機(jī)數(shù)據(jù)認(rèn)證的卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證,若認(rèn)證通過,則批準(zhǔn)脫機(jī)交易,生成并保存交易記錄;若認(rèn)證未通過,則拒絕脫機(jī)交易,生成并保存交易記錄。
具體地,用于脫機(jī)數(shù)據(jù)認(rèn)證的卡片記錄的標(biāo)簽為“70”。
實施例3
本發(fā)明實施例在實施例1的基礎(chǔ)上,以第一預(yù)設(shè)命令、第二預(yù)設(shè)命令和第三預(yù)設(shè)命令為同一條脫機(jī)交易命令為例,提供一種基于可視金融ic卡的脫機(jī)交易方法,應(yīng)用于包括可視金融ic卡和客戶端的系統(tǒng)中,可視金融ic卡中包含微控制單元(microcontrollerunit,mcu)和集成電路卡(integratedcircuit,ic)卡芯片,客戶端為安裝在終端設(shè)備中的應(yīng)用程序。
首先,如圖4所示,在本實施例提供的方法中,可視金融ic卡執(zhí)行以下步驟:
步驟b1、可視金融ic卡接收客戶端發(fā)送的藍(lán)牙配對請求,向客戶端返回藍(lán)牙配對響應(yīng),與客戶端建立藍(lán)牙連接。
進(jìn)一步地,可視金融ic卡接收藍(lán)牙配對請求之后,向客戶端返回藍(lán)牙配對響應(yīng)前,還可以包括:
步驟a1,可視金融ic卡生成并顯示pin碼,接收客戶端發(fā)送的驗證請求;
步驟a2,可視金融ic卡判斷上一次生成的pin碼是否與驗證請求中的pin碼相同,如果是則向客戶端返回藍(lán)牙配對響應(yīng),否則執(zhí)行步驟a3;
步驟a3,可視金融ic卡顯示驗證失敗信息,結(jié)束流程。
更進(jìn)一步地,步驟a2中,可視金融ic卡判斷上一次生成的pin碼與驗證請求中的pin碼不相同后,執(zhí)行步驟a3之前還可以包括:
步驟b1,可視金融ic卡更新驗證失敗次數(shù),判斷驗證失敗次數(shù)是否為第一預(yù)設(shè)值,如果是,則執(zhí)行步驟a3,否則返回步驟a1;
相應(yīng)地,步驟a3中,可視金融ic卡判斷上一次生成的pin碼與驗證請求中的pin碼相同后,還包括設(shè)置驗證失敗次數(shù)為初始值;
例如,驗證失敗次數(shù)的初始值為0,步驟b1中更新驗證失敗次數(shù)為其當(dāng)前值加上1,第一預(yù)設(shè)值為3。
步驟b2,可視金融ic卡接收客戶端發(fā)送的命令,若接收到客戶端發(fā)送的脫機(jī)交易命令則執(zhí)行步驟b3,否則顯示交易失敗,結(jié)束流程。
步驟b3,可視金融ic卡選擇應(yīng)用。
本實施例中,選擇應(yīng)用具體包括:建立應(yīng)用候選列表,依據(jù)應(yīng)用候選列表選擇應(yīng)用,若選擇應(yīng)用成功則執(zhí)行步驟b4,否則向客戶端返回應(yīng)用選擇失敗響應(yīng)。
步驟b4,可視金融ic卡獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項。
本實施例中,獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項,具體包括:獲取脫機(jī)交易命中的交易金額,根據(jù)處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項,否則向所述客戶端返回獲取處理選項失敗響應(yīng)。
步驟b5,可視金融ic卡根據(jù)讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志。
本實施例中,讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志,具體包括:根據(jù)處理選項讀取卡片記錄,根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,并根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作,根據(jù)認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù)。
其次,在上述內(nèi)容的基礎(chǔ)上,如圖5所示,本實施例提供的方法具體包括:
步驟201,客戶端開啟藍(lán)牙掃描,從掃描到的設(shè)備中選擇可視金融ic卡。
具體地,客戶端自動識別和選擇可視金融ic卡,或者客戶端顯示掃描到的設(shè)備的信息,根據(jù)用戶輸入確定和選擇可視金融ic卡。
步驟202,客戶端向可視金融ic卡發(fā)送藍(lán)牙配對請求。
步驟203,可視金融ic卡接收藍(lán)牙配對請求。
步驟204,可視金融ic卡向客戶端返回藍(lán)牙配對響應(yīng)。
進(jìn)一步地,可視金融ic卡接收藍(lán)牙配對請求之后,向客戶端返回藍(lán)牙配對響應(yīng)前,還可以包括:
步驟1-1,可視金融ic卡生成并顯示pin碼;
步驟1-2,客戶端獲取用戶輸入的pin碼,生成包含該pin碼的驗證請求;
步驟1-3,客戶端向可視金融ic卡發(fā)送驗證請求;
步驟1-4,可視金融ic卡接收驗證請求,判斷上一次生成的pin碼是否與驗證請求中的pin碼相同,如果是,則執(zhí)行步驟204;否則,執(zhí)行步驟1-5;
步驟1-5,可視金融ic卡顯示驗證失敗信息,結(jié)束流程。
更進(jìn)一步地,步驟1-4中,可視金融ic卡判斷上一次生成的pin碼與驗證請求中的pin碼不相同后,執(zhí)行步驟1-5之前還可以包括:
步驟2-1,可視金融ic卡更新驗證失敗次數(shù),判斷驗證失敗次數(shù)是否為第一預(yù)設(shè)值,如果是,則執(zhí)行步驟1-5;否則,返回步驟1-1;
相應(yīng)地,步驟1-4中,可視金融ic卡判斷上一次生成的pin碼與驗證請求中的pin碼相同后,還包括設(shè)置驗證失敗次數(shù)為初始值;
例如,驗證失敗次數(shù)的初始值為0,步驟2-1中更新驗證失敗次數(shù)為其當(dāng)前值加上1,第一預(yù)設(shè)值為3。
步驟205,客戶端與可視金融ic卡建立藍(lán)牙連接。
步驟206,客戶端獲取用戶輸入的交易金額,根據(jù)交易金額生成脫機(jī)交易命令。
步驟207,客戶端向可視金融ic卡發(fā)送脫機(jī)交易命令。
步驟208,可視金融ic卡接收脫機(jī)交易命令。
步驟209,可視金融ic卡選擇應(yīng)用。
可視金融ic卡選擇應(yīng)用具體包括:
步驟1,mcu從應(yīng)用候選列表中選擇一個應(yīng)用作為當(dāng)前應(yīng)用,根據(jù)當(dāng)前應(yīng)用的aid生成選擇命令;
本實施例中,步驟1之前還包括:mcu建立應(yīng)用候選列表;
具體地,mcu自動從應(yīng)用候選列表中選擇應(yīng)用作為當(dāng)前應(yīng)用,或mcu將應(yīng)用候選列表中應(yīng)用信息顯示給用戶,接收用戶輸入,根據(jù)用戶輸入的選擇信息或確認(rèn)信息選擇應(yīng)用作為當(dāng)前應(yīng)用。
步驟2,mcu向ic卡芯片發(fā)送選擇命令,接收ic卡芯片返回的選擇響應(yīng),根據(jù)選擇響應(yīng)判斷當(dāng)前應(yīng)用是否選擇成功,是則執(zhí)行步驟210,否則執(zhí)行步驟3;
具體地,ic卡芯片接收到選擇命令后,判斷是否允許執(zhí)行選擇命令中的aid對應(yīng)的應(yīng)用,是則向mcu返回應(yīng)用選擇成功響應(yīng),否則向mcu返回應(yīng)用選擇失敗響應(yīng);
mcu接收到選擇響應(yīng)后,判斷選擇響應(yīng)的類型,若為應(yīng)用選擇成功響應(yīng)則確定當(dāng)前應(yīng)用選擇成功,否則確定當(dāng)前應(yīng)用選擇失??;
具體地,mcu檢查選擇響應(yīng)中的狀態(tài)碼,若選擇相應(yīng)中的狀態(tài)碼為表示選擇成功的狀態(tài)碼則確定選擇響應(yīng)為應(yīng)用選擇成功響應(yīng),否則確定選擇相應(yīng)為應(yīng)用選擇失敗響應(yīng);表示成功的狀態(tài)碼優(yōu)選為“9000”;
進(jìn)一步地,應(yīng)用選擇成功響應(yīng)中包含fci,fci中包含pdol,ic卡芯片通過pdol向mcu請求的終端數(shù)據(jù);
步驟3,mcu從應(yīng)用候選列表中移除當(dāng)前應(yīng)用,判斷應(yīng)用候選列表中是否還有應(yīng)用,是則返回步驟2,否則結(jié)束流程。
步驟210,可視金融ic卡獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項。
本實施例中,可視金融ic卡獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項,具體包括:
步驟1,mcu獲取選擇響應(yīng)中的pdol,根據(jù)pdol獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)生成獲取處理選項命令,向ic卡芯片發(fā)送獲取處理選項命令;
本實施例中,ic卡芯片向mcu請求的終端數(shù)據(jù)包括:電子現(xiàn)金終端支持指示器、授權(quán)金額和交易貨幣代碼;mcu根據(jù)pdol獲取終端數(shù)據(jù)包括:mcu根據(jù)脫機(jī)交易指令中的交易金額獲取授權(quán)金額,根據(jù)默認(rèn)配置獲取交易貨幣代碼;根據(jù)以下條件獲取電子現(xiàn)金終端支持指示器:
客戶端交易類型為消費(fèi)交易;
客戶端支持電子現(xiàn)金交易;
授權(quán)金額小于客戶端電子現(xiàn)金交易限額,或者在客戶端電子現(xiàn)金交易限額不存在時授權(quán)金額小于客戶端最低限額;
若以上條件均滿足則獲取電子現(xiàn)金終端支持指示器為“01”,否則獲取電子現(xiàn)金終端支持指示器為“00”;
優(yōu)選地,mcu可以執(zhí)行以下步驟獲取電子現(xiàn)金終端支持指示器:
步驟3-1,判斷客戶端交易類型是否為消費(fèi),是則執(zhí)行步驟3-2,否則獲取電子現(xiàn)金終端支持指示器為“00”;
步驟3-2,判斷自身是否支持電子現(xiàn)金,是則執(zhí)行步驟3-3,否則獲取電子現(xiàn)金終端支持指示器為“00”;
步驟3-3,判斷客戶端電子現(xiàn)金交易限額是否存在,是則執(zhí)行步驟3-4,否則執(zhí)行步驟3-5;
步驟3-4,判斷授權(quán)金額是否小于客戶端電子現(xiàn)金交易限額,是則獲取電子現(xiàn)金終端支持指示器為“01”,否則獲取電子現(xiàn)金終端支持指示器為“00”;
步驟3-5,判斷客戶端最低限額是否存在,是則執(zhí)行步驟3-6,否則獲取電子現(xiàn)金終端支持指示器為“00”;
步驟3-6,判斷授權(quán)金額是否小于客戶端最低限額,是則獲取電子現(xiàn)金終端支持指示器為“01”,否則獲取電子現(xiàn)金終端支持指示器為“00”;
進(jìn)一步地,ic卡芯片向mcu請求的終端數(shù)據(jù)還可以包括終端國家代碼、交易時間和商戶名稱等;
步驟2,ic卡芯片接收獲取處理選項命令,從獲取處理選項命令中獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,根據(jù)限制檢查結(jié)果生成獲取處理選項命令響應(yīng),向mcu返回獲取處理選項命令響應(yīng);
本實施例中,終端數(shù)據(jù)包括:電子現(xiàn)金終端支持指示器、授權(quán)金額和交易貨幣代碼;ic卡芯片根據(jù)以下條件執(zhí)行限制檢查:
電子現(xiàn)金終端支持指示器為“01”;
交易貨幣代碼與應(yīng)用貨幣代碼匹配;
授權(quán)金額不超過電子現(xiàn)金余額;
授權(quán)金額不超過電子現(xiàn)金單筆交易限額;
發(fā)卡行認(rèn)證失敗指示器為0;
發(fā)卡行腳本處理失敗指示器為0;
pin嘗試計數(shù)器不為“00”;
其中,應(yīng)用貨幣代碼、電子現(xiàn)金余額、電子現(xiàn)金單筆交易限額、發(fā)卡行認(rèn)證失敗指示器、發(fā)卡行腳本處理失敗指示器和pin嘗試計數(shù)器均為ic卡芯片中的數(shù)據(jù);
若以上條件均滿足則限制檢查通過,可視金融ic卡生成包含aip和afl的獲取處理選項命令響應(yīng);否則限制檢查未通過,可視金融ic卡生成包含使用條件不滿足狀態(tài)碼的獲取處理選項命令響應(yīng);
優(yōu)選地,根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,根據(jù)限制檢查結(jié)果生成獲取處理選項命令響應(yīng),包括ic卡芯片執(zhí)行以下步驟:
步驟4-1,判斷電子現(xiàn)金終端指示器是否為“01”,是則執(zhí)行步驟4-2,否則執(zhí)行步驟4-9;
步驟4-2,判斷交易貨幣代碼是否等于應(yīng)用貨幣代碼,是則執(zhí)行步驟4-3,否則執(zhí)行步驟4-9;
步驟4-3,判斷授權(quán)金額是否大于電子現(xiàn)金余額,是則執(zhí)行步驟4-9,否則執(zhí)行步驟4-4;
步驟4-4,判斷授權(quán)金額是否大于電子現(xiàn)金單筆交易限額,是則執(zhí)行步驟4-9,否則執(zhí)行步驟4-5;
步驟4-5,判斷發(fā)卡行認(rèn)證失敗指示器是否等于0,是則執(zhí)行步驟4-6,否則執(zhí)行步驟4-9;
步驟4-6,判斷發(fā)卡行腳本處理失敗指示器是否等于0,是則執(zhí)行步驟4-7,否則執(zhí)行步驟4-9;
步驟4-7,判斷pin嘗試計數(shù)器是否等于“00”,是則執(zhí)行步驟4-9,否則執(zhí)行步驟4-8;
步驟4-8,生成包含aip和afl的獲取處理選項命令響應(yīng);
步驟4-9,生成包含使用條件不滿足狀態(tài)碼的獲取處理選項命令響應(yīng);
進(jìn)一步地,限制檢查通過后還包括:ic卡芯片將cid和cvr置零。
步驟3,mcu接收獲取處理選項命令響應(yīng),根據(jù)獲取處理選項命令響應(yīng)判斷獲取處理選項是否成功,是則執(zhí)行步驟211,否則返回執(zhí)行選擇應(yīng)用操作,重新選擇應(yīng)用候選列表中的其他應(yīng)用。
步驟211,可視金融ic卡根據(jù)處理選項讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志;
本實施例中,步驟211具體包括:
步驟1,mcu根據(jù)獲取處理選項命令響應(yīng)中的afl確定要讀取的卡片記錄,對應(yīng)生成讀記錄命令,向ic卡芯片發(fā)送讀記錄命令;
具體地,mcu順序讀取afl中的一個afl項指定要讀取的卡片記錄所在應(yīng)用文件的sfi,以及要讀取的卡片記錄的記錄號,生成包含當(dāng)前確定的sfi和記錄號的讀記錄命令;
步驟2,ic卡芯片接收讀記錄命令,讀取相應(yīng)卡片記錄,根據(jù)讀取到的卡片記錄生成讀記錄命令響應(yīng),并根據(jù)讀記錄命令中的sfi和記錄號判斷接收到的讀記錄命令是否為最后一條讀記錄命令,是則執(zhí)行步驟3,否則執(zhí)行步驟4;
具體地,ic卡芯片獲取與讀記錄命令中的sfi對應(yīng)的aef,讀取該aef中與讀記錄命令中的記錄號對應(yīng)的卡片記錄;
ic卡芯片根據(jù)讀記錄命令中的sfi和記錄號判斷接收到的讀記錄命令讀取的卡片記錄是否為可視金融ic卡通過afl指定的客戶端需要讀取的卡片記錄中的最后一條,是則確定接收到的讀記錄命令是最后一條讀記錄命令,否則確定接收到的讀記錄命令不是最后一條讀記錄命令。
步驟3,ic卡芯片根據(jù)獲取處理選項命令中的授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,執(zhí)行步驟4;
步驟4,ic卡芯片向mcu返回讀記錄命令響應(yīng);
步驟5,mcu接收讀記錄命令響應(yīng),判斷是否還有要讀取的卡片記錄,是則返回步驟1,否則執(zhí)行步驟212。
具體地,mcu判斷當(dāng)前接收到的讀記錄命令響應(yīng)中的卡片記錄是否是當(dāng)前afl項指定讀取的最后一條卡片記錄,若不是則確定還有要讀取的卡片記錄,若是則進(jìn)一步判斷獲取處理選項命令響應(yīng)中的afl中是否還有未處理的afl項,若有則確定還有要讀取的卡片記錄,若沒有則確定沒有要讀取的卡片記錄。
步驟212,可視金融ic卡根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作,若脫機(jī)數(shù)據(jù)認(rèn)證通過則脫機(jī)交易批準(zhǔn),執(zhí)行步驟213,若脫機(jī)數(shù)據(jù)認(rèn)證未通過則脫機(jī)交易拒絕,執(zhí)行步驟213。
本實施例中,可視金融ic卡根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作具體包括:mcu根據(jù)afl指明的用于脫機(jī)數(shù)據(jù)認(rèn)證的卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證;
具體地,用于脫機(jī)數(shù)據(jù)認(rèn)證的卡片記錄的標(biāo)簽為“70”;
步驟213,可視金融ic卡根據(jù)脫機(jī)數(shù)據(jù)認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù)。
步驟214,客戶端根據(jù)交易記錄數(shù)據(jù)生成并保存交易記錄。
實施例4
本發(fā)明實施例在實施例1的基礎(chǔ)上,以第一預(yù)設(shè)命令為選擇命令,第二預(yù)設(shè)命令和第三預(yù)設(shè)命令為同一條脫機(jī)交易命令為例,提供一種基于可視金融ic卡的脫機(jī)交易方法,應(yīng)用于包括可視金融ic卡和客戶端的系統(tǒng)中,可視金融ic卡中包含mcu和ic卡芯片,客戶端為安裝在終端設(shè)備中的應(yīng)用程序。
首先,如圖6所示,在本實施例提供的方法中,可視金融ic卡執(zhí)行以下步驟:
步驟c1、可視金融ic卡接收客戶端發(fā)送的藍(lán)牙配對請求,向客戶端返回藍(lán)牙配對響應(yīng),與客戶端建立藍(lán)牙連接。
進(jìn)一步地,可視金融ic卡接收藍(lán)牙配對請求之后,向客戶端返回藍(lán)牙配對響應(yīng)前,還可以包括:
步驟a1,可視金融ic卡生成并顯示pin碼,接收客戶端發(fā)送的驗證請求;
步驟a2,可視金融ic卡判斷上一次生成的pin碼是否與驗證請求中的pin碼相同,如果是則向客戶端返回藍(lán)牙配對響應(yīng),否則執(zhí)行步驟a3;
步驟a3,可視金融ic卡顯示驗證失敗信息,結(jié)束流程。
更進(jìn)一步地,步驟a2中,可視金融ic卡判斷上一次生成的pin碼與驗證請求中的pin碼不相同后,執(zhí)行步驟a3之前還可以包括:
步驟b1,可視金融ic卡更新驗證失敗次數(shù),判斷驗證失敗次數(shù)是否為第一預(yù)設(shè)值,如果是,則執(zhí)行步驟a3,否則返回步驟a1;
相應(yīng)地,步驟a3中,可視金融ic卡判斷上一次生成的pin碼與驗證請求中的pin碼相同后,還包括設(shè)置驗證失敗次數(shù)為初始值;
例如,驗證失敗次數(shù)的初始值為0,步驟b1中更新驗證失敗次數(shù)為其當(dāng)前值加上1,第一預(yù)設(shè)值為3。
步驟c2、可視金融ic卡接收客戶端發(fā)送的命令,若接收到客戶端發(fā)送的選擇命令則執(zhí)行步驟c3,若接收到客戶端發(fā)送的脫機(jī)交易命令則執(zhí)行步驟c4,否則顯示交易失敗,結(jié)束流程。
具體地,可視金融ic卡接收到客戶端發(fā)送的命令后,檢查命令的前兩個字節(jié),若命令的前兩個字節(jié)的值為“00a4”則確定接收到客戶端發(fā)送的選擇命令,若命令的前兩個字節(jié)為“fc25”則確定接收到客戶端發(fā)送的脫機(jī)交易命令。
步驟c3,可視金融ic卡選擇應(yīng)用,向客戶端返回選擇響應(yīng),返回步驟c2。
本實施例中,選擇應(yīng)用,向客戶端返回選擇響應(yīng),具體包括:判斷是否允許執(zhí)行選擇命令中的應(yīng)用標(biāo)識對應(yīng)的應(yīng)用,是則向客戶端返回應(yīng)用選擇成功響應(yīng),否則向客戶端返回應(yīng)用選擇失敗響應(yīng)。
步驟c4,可視金融ic卡獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項。
本實施例中,獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項,具體包括:獲取脫機(jī)交易命令中的交易金額,根據(jù)處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項,否則向客戶端返回獲取處理選項失敗響應(yīng)。
步驟c5,可視金融ic卡讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志。
本實施例中,讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志,具體包括:根據(jù)處理選項讀取卡片記錄,根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,并根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作,根據(jù)認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù)。
其次,在上述內(nèi)容的基礎(chǔ)上,如圖7所示,本實施例提供的方法具體包括:
步驟301、客戶端開啟藍(lán)牙掃描,從掃描到的設(shè)備中選擇可視金融ic卡。
具體地,客戶端自動識別和選擇可視金融ic卡,或者客戶端顯示掃描到的設(shè)備的信息,根據(jù)用戶輸入確定和選擇可視金融ic卡。
步驟302,客戶端向可視金融ic卡發(fā)送藍(lán)牙配對請求。
步驟303,可視金融ic卡接收藍(lán)牙配對請求。
步驟304,可視金融ic卡向客戶端返回藍(lán)牙配對響應(yīng)。
進(jìn)一步地,可視金融ic卡接收藍(lán)牙配對請求之后,向客戶端返回藍(lán)牙配對響應(yīng)前,還可以包括:
步驟1-1,可視金融ic卡生成并顯示pin碼;
步驟1-2,客戶端獲取用戶輸入的pin碼,生成包含該pin碼的驗證請求;
步驟1-3,客戶端向可視金融ic卡發(fā)送驗證請求;
步驟1-4,可視金融ic卡接收驗證請求,判斷上一次生成的pin碼是否與驗證請求中的pin碼相同,如果是,則執(zhí)行步驟304;否則,執(zhí)行步驟1-5;
步驟1-5,可視金融ic卡顯示驗證失敗信息,結(jié)束流程。
更進(jìn)一步地,步驟1-4中,可視金融ic卡判斷上一次生成的pin碼與驗證請求中的pin碼不相同后,執(zhí)行步驟1-5之前還可以包括:
步驟2-1,可視金融ic卡更新驗證失敗次數(shù),判斷驗證失敗次數(shù)是否為第一預(yù)設(shè)值,如果是,則執(zhí)行步驟1-5;否則,返回步驟1-1;
相應(yīng)地,步驟1-4中,可視金融ic卡判斷上一次生成的pin碼與驗證請求中的pin碼相同后,還包括設(shè)置驗證失敗次數(shù)為初始值;
例如,驗證失敗次數(shù)的初始值為0,步驟2-1中更新驗證失敗次數(shù)為其當(dāng)前值加上1,第一預(yù)設(shè)值為3。
步驟305,客戶端與可視金融ic卡建立藍(lán)牙連接。
步驟306,客戶端獲取用戶輸入的交易金額。
步驟307,客戶端組織選擇命令。
本實施例中,步驟307之前還包括:客戶端建立應(yīng)用候選列表。
步驟307具體包括:客戶端從應(yīng)用候選列表中選擇一個應(yīng)用作為當(dāng)前應(yīng)用,根據(jù)當(dāng)前應(yīng)用的aid生成選擇命令。
具體地,客戶端自動從應(yīng)用候選列表中選擇應(yīng)用作為當(dāng)前應(yīng)用,或客戶端將應(yīng)用候選列表中應(yīng)用信息顯示給用戶。接收用戶輸入,根據(jù)用戶輸入的選擇信息或確認(rèn)信息選擇應(yīng)用作為當(dāng)前應(yīng)用。
步驟308,客戶端向可視金融ic卡發(fā)送選擇命令。
具體地,客戶端發(fā)送選擇命令給mcu。
步驟309,可視金融ic卡選擇應(yīng)用。
步驟310,可視金融ic卡向客戶端返回選擇響應(yīng)。
本實施例中,可視金融ic卡選擇應(yīng)用,向客戶端返回選擇響應(yīng),具體包括:mcu接收客戶端下發(fā)的選擇命令,并將選擇命令發(fā)送給ic卡芯片;
ic卡芯片接收到客戶端發(fā)送的選擇命令后,判斷是否允許執(zhí)行選擇命令中的aid對應(yīng)的應(yīng)用,是則向mcu返回包含fci的應(yīng)用選擇成功響應(yīng),fci中包含pdol,ic卡芯片通過pdol向mcu請求終端數(shù)據(jù);否則向mcu返回應(yīng)用選擇失敗響應(yīng);
若mcu接收到應(yīng)用選擇成功響應(yīng),則向客戶端返回表示選擇應(yīng)用操作成功的選擇命令的應(yīng)答;若mcu接收到應(yīng)用選擇失敗響應(yīng),則向客戶端返回表示選擇應(yīng)用操作失敗的選擇命令的應(yīng)答。
步驟311,客戶端接收選擇響應(yīng),判斷選擇應(yīng)用操作是否成功,是則執(zhí)行步驟312,否則返回步驟307。
步驟312,客戶端向金融ic卡發(fā)送包含交易金額的脫機(jī)交易命令。
步驟313,可視金融ic卡接收脫機(jī)交易命令;
步驟314,可視金融ic卡獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項。
本實施例中,終端數(shù)據(jù)包括:電子現(xiàn)金終端支持指示器、授權(quán)金額和交易貨幣代碼;
具體地,mcu獲取應(yīng)用選擇成功響應(yīng)中的pdol,根據(jù)pdol獲取終端數(shù)據(jù)。
優(yōu)選地,mcu根據(jù)pdol獲取終端數(shù)據(jù)包括:mcu根據(jù)脫機(jī)交易指令中的交易金額獲取授權(quán)金額,根據(jù)默認(rèn)配置獲取交易貨幣代碼;根據(jù)以下條件獲取電子現(xiàn)金終端支持指示器:
客戶端交易類型為消費(fèi)交易;
客戶端支持電子現(xiàn)金交易;
授權(quán)金額小于客戶端電子現(xiàn)金交易限額,或者在客戶端電子現(xiàn)金交易限額不存在時授權(quán)金額小于客戶端最低限額;
若以上條件均滿足則獲取電子現(xiàn)金終端支持指示器為“01”,否則獲取電子現(xiàn)金終端支持指示器為“00”;
優(yōu)選地,mcu可以執(zhí)行以下步驟獲取電子現(xiàn)金終端支持指示器:
步驟3-1,判斷客戶端交易類型是否為消費(fèi),是則執(zhí)行步驟3-2,否則獲取電子現(xiàn)金終端支持指示器為“00”;
步驟3-2,判斷自身是否支持電子現(xiàn)金,是則執(zhí)行步驟3-3,否則獲取電子現(xiàn)金終端支持指示器為“00”;
步驟3-3,判斷客戶端電子現(xiàn)金交易限額是否存在,是則執(zhí)行步驟3-4,否則執(zhí)行步驟3-5;
步驟3-4,判斷授權(quán)金額是否小于客戶端電子現(xiàn)金交易限額,是則獲取電子現(xiàn)金終端支持指示器為“01”,否則獲取電子現(xiàn)金終端支持指示器為“00”;
步驟3-5,判斷客戶端最低限額是否存在,是則執(zhí)行步驟3-6,否則獲取電子現(xiàn)金終端支持指示器為“00”;
步驟3-6,判斷授權(quán)金額是否小于客戶端最低限額,是則獲取電子現(xiàn)金終端支持指示器為“01”,否則獲取電子現(xiàn)金終端支持指示器為“00”;
進(jìn)一步地,ic卡芯片向mcu請求的終端數(shù)據(jù)還可以包括終端國家代碼、交易時間和商戶名稱等。
相應(yīng)地,可視金融ic卡根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項具體包括:
步驟1,mcu根據(jù)終端數(shù)據(jù)生成獲取處理選項命令,向ic卡芯片發(fā)送獲取處理選項命令;
步驟2、ic卡芯片接收獲取處理選項命令,從獲取處理選項命令中獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,根據(jù)限制檢查結(jié)果生成獲取處理選項命令響應(yīng),向mcu返回獲取處理選項命令響應(yīng);
具體地,ic卡芯片根據(jù)以下條件執(zhí)行限制檢查:
電子現(xiàn)金終端支持指示器為“01”;
交易貨幣代碼與應(yīng)用貨幣代碼匹配;
授權(quán)金額不超過電子現(xiàn)金余額;
授權(quán)金額不超過電子現(xiàn)金單筆交易限額;
發(fā)卡行認(rèn)證失敗指示器為0;
發(fā)卡行腳本處理失敗指示器為0;
pin嘗試計數(shù)器不為“00”;
其中,應(yīng)用貨幣代碼、電子現(xiàn)金余額、電子現(xiàn)金單筆交易限額、發(fā)卡行認(rèn)證失敗指示器、發(fā)卡行腳本處理失敗指示器和pin嘗試計數(shù)器均為ic卡芯片中的數(shù)據(jù);
若以上條件均滿足則限制檢查通過,可視金融ic卡生成包含aip和afl的獲取處理選項命令響應(yīng);否則限制檢查未通過,可視金融ic卡生成包含使用條件不滿足狀態(tài)碼的獲取處理選項命令響應(yīng);
優(yōu)選地,根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,根據(jù)限制檢查結(jié)果生成獲取處理選項命令響應(yīng),包括ic卡芯片執(zhí)行以下步驟:
步驟4-1,判斷電子現(xiàn)金終端指示器是否為“01”,是則執(zhí)行步驟4-2,否則執(zhí)行步驟4-9;
步驟4-2,判斷交易貨幣代碼是否等于應(yīng)用貨幣代碼,是則執(zhí)行步驟4-3,否則執(zhí)行步驟4-9;
步驟4-3,判斷授權(quán)金額是否大于電子現(xiàn)金余額,是則執(zhí)行步驟4-9,否則執(zhí)行步驟4-4;
步驟4-4,判斷授權(quán)金額是否大于電子現(xiàn)金單筆交易限額,是則執(zhí)行步驟4-9,否則執(zhí)行步驟4-5;
步驟4-5,判斷發(fā)卡行認(rèn)證失敗指示器是否等于0,是則執(zhí)行步驟4-6,否則執(zhí)行步驟4-9;
步驟4-6,判斷發(fā)卡行腳本處理失敗指示器是否等于0,是則執(zhí)行步驟4-7,否則執(zhí)行步驟4-9;
步驟4-7,判斷pin嘗試計數(shù)器是否等于“00”,是則執(zhí)行步驟4-9,否則執(zhí)行步驟4-8;
步驟4-8,生成包含aip和afl的獲取處理選項命令響應(yīng);
步驟4-9,生成包含使用條件不滿足狀態(tài)碼的獲取處理選項命令響應(yīng);
進(jìn)一步地,限制檢查通過后還包括:ic卡芯片將cid和cvr置零。
步驟3,mcu接收獲取處理選項命令響應(yīng),根據(jù)獲取處理選項命令響應(yīng)判斷獲取處理選項是否成功,是則執(zhí)行步驟315,否則通知客戶端獲取處理選項失敗,返回步驟307,重新選擇應(yīng)用候選列表中的其他應(yīng)用。
步驟315,可視金融ic卡根據(jù)處理選項讀取卡片記錄,根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志。
本實施例中,步驟315具體包括:
步驟1,mcu根據(jù)獲取處理選項命令響應(yīng)中的afl確定要讀取的卡片記錄,對應(yīng)生成讀記錄命令,向ic卡芯片發(fā)送讀記錄命令;
具體地,mcu順序讀取afl中的一個afl項指定要讀取的卡片記錄所在應(yīng)用文件的sfi,以及要讀取的卡片記錄的記錄號,生成包含當(dāng)前確定的sfi和記錄號的讀記錄命令;
步驟2,ic卡芯片接收讀記錄命令,讀取相應(yīng)卡片記錄,根據(jù)讀取到的卡片記錄生成讀記錄命令響應(yīng),并根據(jù)讀記錄命令中的sfi和記錄號判斷接收到的讀記錄命令是否為最后一條讀記錄命令,是則執(zhí)行步驟3,否則執(zhí)行步驟4;
具體地,ic卡芯片獲取與讀記錄命令中的sfi對應(yīng)的aef,讀取該aef中與讀記錄命令中的記錄號對應(yīng)的卡片記錄;
ic卡芯片根據(jù)讀記錄命令中的sfi和記錄號判斷接收到的讀記錄命令讀取的卡片記錄是否為可視金融ic卡通過afl指定的客戶端需要讀取的卡片記錄中的最后一條,是則確定接收到的讀記錄命令是最后一條讀記錄命令,否則確定接收到的讀記錄命令不是最后一條讀記錄命令。
步驟3,ic卡芯片根據(jù)獲取處理選項命令中的授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,執(zhí)行步驟4;
步驟4,ic卡芯片向mcu返回讀記錄命令響應(yīng);
步驟5,mcu接收讀記錄命令響應(yīng),判斷是否還有要讀取的卡片記錄,是則返回步驟1,否則執(zhí)行步驟316。
具體地,mcu判斷當(dāng)前接收到的讀記錄命令響應(yīng)中的卡片記錄是否是當(dāng)前afl項指定讀取的最后一條卡片記錄,若不是則確定還有要讀取的卡片記錄,若是則進(jìn)一步判斷獲取處理選項命令響應(yīng)中的afl中是否還有未處理的afl項,若有則確定還有要讀取的卡片記錄,若沒有則確定沒有要讀取的卡片記錄。
步驟316,可視金融ic卡根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作,若脫機(jī)數(shù)據(jù)認(rèn)證通過則脫機(jī)交易批準(zhǔn),執(zhí)行步驟317,若脫機(jī)數(shù)據(jù)認(rèn)證未通過則脫機(jī)交易拒絕,執(zhí)行步驟317。
本實施例中,可視金融ic卡根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作具體包括:mcu根據(jù)afl指明的用于脫機(jī)數(shù)據(jù)認(rèn)證的卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證;
具體地,用于脫機(jī)數(shù)據(jù)認(rèn)證的卡片記錄的標(biāo)簽為“70”;
步驟317,可視金融ic卡根據(jù)脫機(jī)數(shù)據(jù)認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù)。
步驟318,客戶端根據(jù)交易記錄數(shù)據(jù)生成并保存交易記錄。
實施例5
本實施例提供一種可視金融ic卡,參見圖8,包括:
接收模塊41,用于接收客戶端發(fā)送的藍(lán)牙配對請求、驗證請求和命令;
生成模塊42,用于當(dāng)接收模塊41接收到藍(lán)牙配對請求時,生成配對標(biāo)識;
驗證模塊43,用于當(dāng)接收模塊41接收到驗證請求時,對客戶端進(jìn)行驗證;
顯示模塊44,用于顯示生成模塊42生成的配對標(biāo)識;以及當(dāng)驗證模塊43驗證未通過時,顯示相應(yīng)提示信息;
發(fā)送模塊45,用于當(dāng)驗證模塊43驗證通過時,向客戶端返回藍(lán)牙配對響應(yīng);
連接模塊46,用于與客戶端建立藍(lán)牙連接;
進(jìn)一步地,本實施例提供的可視金融ic卡還包括:
執(zhí)行模塊47,用于當(dāng)接收模塊41接收到第一預(yù)設(shè)命令時,選擇應(yīng)用;用于當(dāng)接收模塊41接收到第二預(yù)設(shè)命令時,獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項;用于當(dāng)接收模塊41接收到第三預(yù)設(shè)命令時,讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志。
具體地,本實施例中,執(zhí)行模塊47包括:卡片記錄讀取單元,用于確定卡片記錄所在應(yīng)用文件的短文件標(biāo)識以及卡片記錄的記錄號,獲取與確定的短文件標(biāo)識對應(yīng)的應(yīng)用基本文件,讀取獲取到的應(yīng)用基本文件中與確定的記錄號對應(yīng)的卡片記錄。
在一種具體實施方式中:
執(zhí)行模塊47用于當(dāng)接收模塊41接收到選擇命令時,選擇應(yīng)用;
具體地,執(zhí)行模塊47包括:第一獲取單元,用于判斷是否允許執(zhí)行與接收模塊41接收到的選擇命令中的應(yīng)用標(biāo)識相對應(yīng)的應(yīng)用;
相應(yīng)地,發(fā)送模塊45還用于:當(dāng)?shù)谝猾@取單元判斷允許執(zhí)行時,向客戶端返回應(yīng)用選擇成功響應(yīng),當(dāng)?shù)谝猾@取單元判斷不允許執(zhí)行時,向客戶端返回選擇失敗響應(yīng)。
進(jìn)一步地,在該具體實施方式中:
接收模塊41還用于當(dāng)發(fā)送模塊45向客戶端返回應(yīng)用選擇成功響應(yīng)后,接收客戶端發(fā)送的交易金額;
執(zhí)行模塊47具體用于當(dāng)接收模塊41接收到獲取處理選項命令時,獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項;
具體地,執(zhí)行模塊47包括:第二獲取單元,用于根據(jù)處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項;
相應(yīng)地,發(fā)送模塊45還用于:當(dāng)?shù)诙@取單元檢查通過時,向客戶端返回獲取處理選項成功響應(yīng),當(dāng)?shù)诙@取單元檢查未通過時,向客戶端返回獲取處理選項失敗響應(yīng);
其中,發(fā)送模塊45向客戶端返回的獲取處理選項成功響應(yīng)中可以包含處理選項。
更進(jìn)一步地,在該具體實施方式中:
執(zhí)行模塊47具體用于當(dāng)接收模塊41接收到脫機(jī)交易命令時,讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志;
具體地,執(zhí)行模塊47包括:第三獲取單元,用于根據(jù)處理選項讀取卡片記錄,根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,并根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作;
相應(yīng)地,發(fā)送模塊45還用于根據(jù)第三獲取單元的認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù)。
更進(jìn)一步地,在該具體實施方式中,執(zhí)行模塊47具體包括:卡片記錄讀取單元,用于根據(jù)應(yīng)用文件定位器確定卡片記錄所在應(yīng)用文件的短文件標(biāo)識以及卡片記錄的記錄號,獲取與確定的短文件標(biāo)識對應(yīng)的應(yīng)用基本文件,讀取應(yīng)用基本文件中與確定的記錄號對應(yīng)的卡片記錄。
在一種具體實施方式中:
執(zhí)行模塊47用于當(dāng)接收模塊41接收到選擇命令時,選擇應(yīng)用;
具體地,執(zhí)行模塊47包括:第一獲取單元,用于判斷是否允許執(zhí)行與接收模塊41接收到的選擇命令中的應(yīng)用標(biāo)識相應(yīng)對的應(yīng)用;
相應(yīng)地,發(fā)送模塊45還用于:當(dāng)?shù)谝猾@取單元判斷允許執(zhí)行時,向客戶端返回包含處理選項數(shù)據(jù)對象列表的應(yīng)用選擇成功響應(yīng),當(dāng)?shù)谝猾@取單元判斷不允許執(zhí)行時,向客戶端返回應(yīng)用選擇失敗響應(yīng)。
進(jìn)一步地,在該具體實施方式中,執(zhí)行模塊47具體用于當(dāng)接收模塊41接收到獲取處理選項命令時,獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項;
具體地,執(zhí)行模塊47包括:第二獲取單元,用于從接收模塊41接收到的獲取處理選項命令中獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項;
相應(yīng)地,發(fā)送模塊45還用于當(dāng)?shù)诙@取單元檢查通過時,向客戶端返回獲取處理選項成功響應(yīng),當(dāng)?shù)诙@取單元檢查未通過時,向客戶端返回獲取處理選項失敗響應(yīng)。
其中,發(fā)送模塊45向客戶端返回的獲取處理選項成功響應(yīng)中可以包含處理選項。
進(jìn)一步地,在該具體實施方式中,執(zhí)行模塊47具體用于當(dāng)接收模塊41接收到脫機(jī)交易命令時,讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志;
具體地,執(zhí)行模塊47包括:第三獲取單元,用于根據(jù)處理選項讀取卡片記錄,根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,并根據(jù)處理選項和卡片記錄執(zhí)行脫機(jī)數(shù)據(jù)認(rèn)證操作;
相應(yīng)地,發(fā)送模塊45還用于:根據(jù)第三獲取單元的認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù)。
更進(jìn)一步地,在該具體實施方式中,執(zhí)行模塊47具體包括:卡片記錄讀取單元,用于根據(jù)應(yīng)用文件定位器確定卡片記錄所在應(yīng)用文件的短文件標(biāo)識以及卡片記錄的記錄號,獲取與確定的短文件標(biāo)識對應(yīng)的應(yīng)用基本文件,讀取應(yīng)用基本文件中與確定的記錄號對應(yīng)的卡片記錄。
在一種具體實施方式中:
執(zhí)行模塊47用于當(dāng)接收模塊41接收到脫機(jī)交易命令時,選擇應(yīng)用;
具體地,執(zhí)行模塊47包含第一獲取單元,用于建立應(yīng)用候選列表,依據(jù)建立的應(yīng)用候選列表選擇應(yīng)用;
相應(yīng)地,發(fā)送模塊45還用于當(dāng)?shù)谝猾@取單元選擇失敗時,向客戶端返回應(yīng)用選擇失敗響應(yīng)。
進(jìn)一步地,在該具體實施方式中,執(zhí)行模塊47具體用于當(dāng)接收模塊41接收到脫機(jī)交易命令時,獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,獲取處理選項;
具體地,執(zhí)行模塊47包括:第二獲取單元,用于獲取脫機(jī)交易命令中的交易金額,根據(jù)處理選項數(shù)據(jù)對象列表獲取終端數(shù)據(jù),根據(jù)終端數(shù)據(jù)執(zhí)行限制檢查,若檢查通過則獲取處理選項;
相應(yīng)地,發(fā)送模塊45還用于:當(dāng)?shù)诙@取單元檢查未通過時,向客戶端返回獲取處理選項失敗響應(yīng)。
進(jìn)一步地,在該具體實施方式中,執(zhí)行模塊47具體用于當(dāng)接收模塊41接收到脫機(jī)交易命令時,讀取卡片記錄,更新電子現(xiàn)金余額,生成并保存交易日志;
具體地,執(zhí)行模塊47包括:第三獲取單元,用于根據(jù)處理選項讀取卡片記錄,根據(jù)授權(quán)金額更新電子現(xiàn)金余額,生成并保存交易日志,并根據(jù)處理選項和卡片記錄執(zhí)行數(shù)據(jù)認(rèn)證操作;
相應(yīng)地,發(fā)送模塊45還用于:根據(jù)第三獲取單元的認(rèn)證結(jié)果向客戶端返回交易記錄數(shù)據(jù)。
以上所述,僅為本發(fā)明較優(yōu)選的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。