8583報文手動組包——詳細分析每個示範域

8583報文作爲一種應用較廣的報文,有它獨特的格式。

網上有關8583報文的說明很多。但涉及到每個域的詳細例子就較少了。這裏列出各個域的詳細例子,供參考。

8583報文:

報文組成:

報文頭【長度(2字節)+TPDU(5字節)+報文版本號(2字節)】+信息類型+位圖+數據
TPDU: 6000100000
報文版本號:0100
信息類型:0080 
報文長度:整體報文長度 -報文頭中的2字節長度。如8583整體報文長度爲100,那麼報文長度爲98.用兩字節的BCD碼錶示(16進制)爲0062。

報文中容易出錯的在於銀聯規範中的各種數據格式,定長、變長、ASCII變長、以及TLV格式等。在組包或者解包前,仔細看規範是十分重要的。
以下主要是針對各個域單獨組包和多個域組包的情況舉例。

多域組包

手動組裝的8583報文:
0072600010000001000800203801000404000880000000000110101112240009303030313531000800350004343136310009303030303031303031

分析組包過程:
0072(長度)
6000100000(TPDU)
0100(版本號)
0800(信息類型)
2038010004040008(64位圖)
800000(3域)
000001(11域)
101011(12域)
1224(13域)
0009(24域)
303030313531(38域)
00080035000434313631(46域)
0009303030303031303031(61域)
按順序拼接起來即可。
詳細的分析,在單獨域組包中可以看到。

單獨域組包

2域單獨組包:

格式:變長,LLVAR

類型:N..19,壓縮時使用1字節BCD表示的長度 + 用右靠BCD碼錶示最大10個字節的變長域。

二進制:0100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):4000000000000000
2域內容:6333021402021781,按規範轉爲:166333021402021781
計算報文長度:0034
組裝8583報文:00346000100000010000804000000000000000166333021402021781


3域單獨組包:

格式:定長

類型:N6,壓縮時用BCD碼錶示的3個字節的定長域。

二進制:0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):2000000000000000
3域內容:800000 ,按規範轉爲:800000
報文長度:0028
組裝8583報文:00286000100000010000802000000000000000800000


4域單獨組包:

格式:定長

類型:N12壓縮時用BCD碼錶示的6個字節的定長域。

二進制:0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):1000000000000000
4域內容:1.01,按規範轉爲:000000000101
報文長度:002E
組裝8583報文:002E6000100000010000801000000000000000000000000101

7域單獨組包:

n1010位定長數字字符

格式:MMDDhhmmss
二進制:0000 0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):0200000000000000
7域內容:0228102030,按規範轉爲:0228102030
報文長度:002C
組裝8583報文:002C60001000000100008002000000000000000228102030

11域單獨組包:

格式:定長

類型:N6壓縮時用BCD碼錶示的3個字節的定長域。

二進制:0000 0000 0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):0020000000000000
11域內容:000001,按規範轉爲:000001
報文長度:0028
組裝8583報文:00286000100000010000800020000000000000000001

12域單獨組包:

格式:定長,HHmmss

類型:N6壓縮時用BCD碼錶示的3個字節的定長域

二進制:0000 0000 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):0010000000000000
12域內容:203012,按規範轉爲:203012
報文長度:0028
組裝8583報文:00286000100000010000800010000000000000203012

13域單獨組包:

格式:定長,MMDD

類型:N4壓縮時用BCD碼錶示的2個字節的定長域。

描述:交易在終端上發生的時間。

二進制:0000 0000 0000 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):0008000000000000
13域內容:0430,按規範轉爲:0430
報文長度:0024
組裝8583報文:002460001000000100008000080000000000000430

14域單獨組包:

格式:定長,MMYY

類型:N4壓縮時用BCD碼錶示的2個字節的定長域。

描述:卡的有效期,月月年年

二進制:0000 0000 0000 0100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):0004000000000000
14域內容:0415,按規範轉爲:0415
報文長度:0024
組裝8583報文:002460001000000100008000040000000000000415

15域單獨組包:

格式:定長, MMDD

類型:N4壓縮時用BCD碼錶示的2個字節的定長域。

描述:清算日期(Date Of Settlement),月月日日
二進制:0000 0000 0000 0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):0002000000000000
15域內容:1229,按規範轉爲:1229
報文長度:0024
組裝8583報文:002460001000000100008000020000000000001229

32域單獨組包:

格式:變長,LLNUM

類型:N..11,壓縮時使用1字節BCD表示的長度 + 用右靠BCD碼錶示最大11個字節的變長域。

描述:受理機構標識碼。該代理機構應是已被批准入網,能爲商戶提供收單服務的入網機構。

二進制:0000 0000 0000 0000 0000 0000 0000 0001 0000 0000 0000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):0000000100000000
32域內容:2001,按規範轉爲:042001
報文長度:0028
組裝8583報文:00286000100000010000800000000100000000042001

34域單獨組包:

格式:變長,LLVAR

類型:N..281個字節BCD長度值 + 最大28個字節的變長ASCII

描述:擴展主賬號信息域

二進制:0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):0000000040000000
34域內容:198809,按規範轉爲:06313938383039
報文長度:0030
組裝8583報文:0030600010000001000080000000004000000006313938383039

35域單組組包:

格式:變長,LLVAR

類型:Z..48(加密後)1個字節BCD長度值 + 用右靠BCD碼錶示的最大24個字節的第二磁道數據。

描述:寫在卡二磁道的數據。
二進制:0000 0000 0000 0000 0000 0000 0000 0000 0010 0000 0000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):0000000020000000
35域內容:EB5B9DB3618B836C1E334C8EBD8AAFA0C0777471F9F41B19,按規範轉爲:24EB5B9DB3618B836C1E334C8EBD8AAFA0C0777471F9F41B19
報文長度:0054
組裝8583報文:0054600010000001000080000000002000000024EB5B9DB3618B836C1E334C8EBD8AAFA0C0777471F9F41B19

36域單獨組包:

格式:變長,LLLVAR

類型:Z...112(加密後)2個字節BCD長度值 + 用右靠BCD碼錶示的最大56個字節的第三磁道數據。

描述:寫在卡三磁道的數據。
二進制:0000 0000 0000 0000 0000 0000 0000 0000 0001 0000 0000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):0000000010000000
36域內容:EB5B9DB3618B836C1E334C8EBD8AAFA0C0777471F9F41B19,按規範轉爲:0024EB5B9DB3618B836C1E334C8EBD8AAFA0C0777471F9F41B19
報文長度:0056
組裝8583報文:005660001000000100008000000000100000000024EB5B9DB3618B836C1E334C8EBD8AAFA0C0777471F9F41B19

37域單獨組包:

格式:定長

類型:AN1212個字節的定長ASCII

二進制:0000 0000 0000 0000 0000 0000 0000 0000 0000 1000 0000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):0000000008000000
37域內容:11112233,按規範轉爲:303030303131313132323333
報文長度:003A
組裝8583報文:003A6000100000010000800000000008000000303030303131313132323333

41域單獨組包:

格式:定長

類型:N88個字節的定長ASCII

描述:定義在收單單位中定義一個服務終端的標識碼
二進制:0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1000 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):0000000000800000
41域內容:12345678,按規範轉爲:3132333435363738
報文長度:0032
組裝8583報文:003260001000000100008000000000008000003132333435363738

42域單獨組包:

格式:定長

類型:ANS1515個字節的定長ASCII

描述:在本地和網絡中定義交易單位(商戶)的編碼
二進制:0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000
十六進制(BCD碼>1001加6):0000000000400000
41域內容:821024512345678,按規範轉爲:383231303234353132333435363738
報文長度:0040
組裝8583報文:00406000100000010000800000000000400000383231303234353132333435363738

46域單獨組包:

格式:變長,LLLVAR

類型:ANS..2552個字節BCD長度值 + 最大128個字節的ASCII

描述:該域用於處理TLV數據

二進制:0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000
十六進制(BCD碼>1001加6):0000000000040000
46域內容:0000#trans_type#99,按規範轉爲:0006000000023939
報文長度:0032
組裝8583報文:003260001000000100008000000000000400000006000000023939

52域單獨組包:

格式:定長

類型:B648個字節的定長二進制數

描述:用戶在服務終端上交易用於識別用戶合法性的一些數字
二進制:0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0000 0000 0000
十六進制(BCD碼>1001加6):0000000000001000
52域內容:5EF0F6C66C3ED34E,按規範轉爲:5EF0F6C66C3ED34E
報文長度:0032
組裝8583報文:003260001000000100008000000000000010005EF0F6C66C3ED34E

55域單獨組包:

格式:變長,LLLVAR

類型:ANS..255, 2個字節BCD長度值 + 最大128個字節的BCD數據

描述:本域爲IC卡交易使用
二進制:0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 0000 0000
十六進制(BCD碼>1001加6):0000000000000200
52域內容:9F260879CC8EC5A09FB9479F2701809F100807010199A0B806019F3704000000009F360201C2950500001800009A031205089C01609F02060000000000005F2A02015682027D009F1A0201569F03060000000000009F3303E0F0F09F34036003029F3501119F1E0832303033313233318405FFFFFFFFFF9F090220069F4104000000019F74064543433030319F631030313032303030308030303030303030,按規範轉爲:03189F260879CC8EC5A09FB9479F2701809F100807010199A0B806019F3704000000009F360201C2950500001800009A031205089C01609F02060000000000005F2A02015682027D009F1A0201569F03060000000000009F3303E0F0F09F34036003029F3501119F1E0832303033313233318405FFFFFFFFFF9F090220069F4104000000019F74064543433030319F631030313032303030308030303030303030
報文長度:0164
組裝8583報文:0164600010000001000080000000000000020001599F260879CC8EC5A09FB9479F2701809F100807010199A0B806019F3704000000009F360201C2950500001800009A031205089C01609F02060000000000005F2A02015682027D009F1A0201569F03060000000000009F3303E0F0F09F34036003029F3501119F1E0832303033313233318405FFFFFFFFFF9F090220069F4104000000019F74064543433030319F631030313032303030308030303030303030

61域單獨組包:

bitmap(64位圖):
二進制:0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1000
十六進制(BCD碼>1001加6):0000000000000008
61域內容:  000001001,按規範轉換爲:0009303030303031303031
計算報文長度:0038
組裝8583報文:003860001000000100008000000000000000080009303030303031303031 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章