您好,登錄后才能下訂單哦!
ISO8583報(bào)文手工拆解
8583報(bào)文大部分情況下用在POS終端與后臺(tái)收單系統(tǒng)的數(shù)據(jù)交換,一般情況下一段完整的報(bào)文由以下幾個(gè)部分組成:
——————————————————————————————————
長度 報(bào)文頭 8583數(shù)據(jù)
——————————————————————————————————
長度部分一般兩個(gè)字節(jié),表示報(bào)文的總長度。(“報(bào)文頭”+“數(shù)據(jù)”,部分的長度)
TPDU決定了終端與系統(tǒng)之間的網(wǎng)絡(luò)協(xié)議。TPDU是一個(gè)10位的數(shù)字。
實(shí)際傳輸?shù)膱?bào)文,有些用ASCII碼表示,有些用BCD碼表示。
下面來段簡單的報(bào)文,我給大家詳細(xì)的解析一下(根據(jù)中國銀聯(lián)POS終端規(guī)范)
——————————————————————————————————
005f600003000200302044c020c08810210009000000000001005018998802100006
377689200010172645673d130820147800000000303130303030313230313130303
030303130303030303131353626000000000000000011260001100000
——————————————————————————————————
<00 5f>
報(bào)文總長度 95字節(jié)
<60 00 03 00 00>
TPDU
<02 00>
這個(gè)是信息類型(MTI),是一個(gè)四位的數(shù)字,這里為“0200”(請(qǐng)求)
傳輸時(shí)用BCD碼表示即為“02h 00h”, 每位都有它的意義
第一位:8583 version number
第二位:message class
第三位:message sub-class
第四位:transction originator
下面開始位圖的詳細(xì)解釋:
<30 20 44 c0 20 c0 88 10>
bitmap域, 指示哪些域的存在 位圖包括基本位圖和擴(kuò)展位圖
位圖利用BCD碼分析。把BCD碼的那一位置 “1”,就表示有哪些域。
解析位圖如下:
0011000000100000010001001100000000100000110000001000100000010000
這個(gè)你就自己數(shù)的看吧。解析出來的域有:3,4,11,18,22,25,26,35,41,42,49,53,60。
接下來就是對(duì)應(yīng)每個(gè)域的屬性,開始對(duì)應(yīng)相應(yīng)的數(shù)據(jù)。
<21 00 09>
field 3, 交易處理碼,n6, 定長, 用3個(gè)字節(jié)的BCD碼表示。
<00 00 00 00 00 01>
field 4, 交易金額, n12, 定長, 用6個(gè)字節(jié)BCD碼表示,這里金額是0.01元
若為人民幣則交易金額的單位是人民幣的分。
<00 50 18>
field 11, 流水號(hào), n6, 定長, 用3字節(jié)的BCD碼表示, 流水號(hào)為“005018”。
<99 88>
field 18, 商戶類型,n4, 定長,用2字節(jié)的BCD碼表示。 (商戶類型代碼行業(yè)查詢)
<02 1>
field 22, 服務(wù)點(diǎn)輸入方式, n3, 定長, 在服務(wù)終端定義PIN和PAN的輸入方式。
<00>
field 25, 服務(wù)點(diǎn)條件代碼, n2, 定長, 00表示正常交易
<06>
field 26, 服務(wù)點(diǎn)PIN獲取碼,n2,定長,該域描述了服務(wù)點(diǎn)設(shè)備所允許輸入的個(gè)人密碼明文的最大長度。
<37 76 89 20 00 10 17 26 45 67 3d 13 08 20 14 78 00 00 00 00>
field 35, 二磁道數(shù)據(jù), z..37(LLVAR), 第一個(gè)字節(jié)表示域的長度(37)
后面19個(gè)字節(jié)BCD碼表示磁道數(shù)據(jù),基數(shù)位補(bǔ)0或者跳過。
<30 31 30 30 30 30 31 32>
field 41, 終端號(hào), ans8, 定長,ASCII碼表示;這里終端號(hào)為:“01000012”。
<30 31 31 30 30 30 30 30 31 30 30 30 30 30 31>
field 42, 商戶號(hào),ans15, 定長, ASCII碼表示;這里的商戶號(hào)為:“011000001000001”
<31 35 36>
field 49, 貨幣代碼,ans3,定長, ASCII碼表示;人民幣的代碼為:“156”。
<26 00 00 00 00 00 00 00>
field 53, 安全控制信息,n16, 有安全要求時(shí)必選
<00 11 26 00 01 10 00 00>
field 60,自定義域, an..011(LLLVAR);兩個(gè)字節(jié)表示長度(00 11),左補(bǔ)齊“0”。
ISO8583報(bào)文拆解代碼見下期。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。