天天看點

關于銀聯則及終端則iso8583封包規範的了解

    面對标準iso8583,相信有很多的人知道,也看過相關的文檔。初學者面對iso8583接口文檔,首先需要弄清楚,是關于終端則的還是關于銀聯平台則的。

    如果你是針對終端的則一般是《銷售點終端(POS)應用規範(QCUP 009.1-2010).pdf》會含有POS二個字樣。

    如果是針對銀聯則的則一般是《中國銀聯銀行卡聯網聯合技術規範V2.1(境内卷)(QCUP 006-2011)》會含銀聯銀行卡等字樣。

    終端則的封包組成:

    封包長度(2位元組表示)+TPDU(11位元組)+封包類型(4位元組,2位元組BCD表示)+位圖(8位元組)+封包内容。

     封包長度不好了解,可以參看“關于封包長度的了解”。  

    封包内容會涉及的類型(不一定與文檔裡的一樣,但是需要它們歸集總結):

        1)純數字類型: 基本上BCD表示。(如處理碼)

        2)字母類型:基本上ASCII表示。(如商戶号、終端号)

        3)2或3位長域,在表示方式上有差別:

            長度域BCD表示,資料域ASCII表示。(如F44、F54等域)

            長度域BCD表示,資料域也BCD表示。(如卡号、二磁道)

        需要注意的是,可能會認為F64: 64bit如何表示呢?其實這就是一個8位元組的字母類型來處理即可。

以下是一個請求封包執行個體:

0000h: 60 00 14 00 00 60 31 00 31 10 02 02 00 30 20 04 ; `....`1.1....0 .
0010h: 80 20 C0 88 11 00 00 00 00 00 00 00 00 05 00 16 ; . ..............
0020h: 52 02 20 00 29 62 25 00 00 00 00 00 14 D3 01 02 ; R. .)b%.........
0030h: 01 00 00 00 30 30 30 30 30 31 39 33 38 30 31 31 ; ....000001938011
0040h: 31 30 30 35 30 39 34 30 31 30 32 31 35 36 06 00 ; 10050940102156..
0050h: 00 00 00 00 00 00 00 14 22 00 00 01 00 05 00 38 ; ........"......8
0060h: 46 37 41 45 35 34 39                            ; F7AE549


Bit[000] = [004] [0200]
Bit[003] = [006] [000000]
Bit[004] = [012] [000000000005]
Bit[011] = [006] [001652]
Bit[022] = [003] [022]
Bit[025] = [002] [00]
Bit[035] = [029] [6225000000000014D301020100000]
Bit[041] = [008] [00000193]
Bit[042] = [015] [801110050940102]
Bit[049] = [003] [156]
Bit[053] = [016] [0600000000000000]
Bit[060] = [014] [22000001000500]
Bit[064] = [008] [8F7AE549]                

---------------------------------------------------------------------------------------------------------------

    銀聯即平台則的封包組成部分:

    封包長度(4位元組ASCII)+TPDU(46位元組)++封包類型(4位元組ASCII)+位圖(16位元組)+封包内容。

    所有涉及到的資料類型都不需要BCD,即全用ASCII表示即可。

以下是一個請求封包執行個體。

Bit[000] = [004] [0200]
Bit[002] = [016] [6225000000000014]
Bit[003] = [006] [000000]
Bit[004] = [012] [000000000090]
Bit[007] = [010] [1014114446]
Bit[011] = [006] [348507]
Bit[012] = [006] [114446]
Bit[013] = [004] [1014]
Bit[018] = [004] [7531]
Bit[022] = [003] [022]
Bit[025] = [002] [00]
Bit[032] = [008] [48011000]
Bit[033] = [008] [48010000]
Bit[035] = [029] [6225000000000014=301020100000]
Bit[037] = [012] [101400004941]
Bit[041] = [008] [00000191]
Bit[042] = [015] [801110075310001]
Bit[043] = [040] [測試商戶Z0001                           ]
Bit[049] = [003] [156]
Bit[060] = [027] [000002000300000000000011000]
Bit[128] = [008] [CFAFF1C6]

0000h: 2E 02 30 33 30 34 30 30 30 31 30 30 30 30 20 20 ; ..030400010000
0010h: 20 34 38 30 31 30 30 30 30 20 20 20 30 30 30 30 ;  48010000   0000
0020h: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 ; 0000000000000002
0030h: 30 30 F2 38 44 81 A8 E0 80 10 00 00 00 00 00 00 ; 00.8D...........
0040h: 00 01 31 36 36 32 32 35 30 30 30 30 30 30 30 30 ; ..16622500000000
0050h: 30 30 31 34 30 30 30 30 30 30 30 30 30 30 30 30 ; 0014000000000000
0060h: 30 30 30 30 39 30 31 30 31 34 31 31 34 34 34 36 ; 0000901014114446
0070h: 33 34 38 35 30 37 31 31 34 34 34 36 31 30 31 34 ; 3485071144461014
0080h: 37 35 33 31 30 32 32 30 30 30 38 34 38 30 31 31 ; 7531022000848011
0090h: 30 30 30 30 38 34 38 30 31 30 30 30 30 32 39 36 ; 0000848010000296
00A0h: 32 32 35 30 30 30 30 30 30 30 30 30 30 31 34 3D ; 225000000000014=
00B0h: 33 30 31 30 32 30 31 30 30 30 30 30 31 30 31 34 ; 3010201000001014
00C0h: 30 30 30 30 34 39 34 31 30 30 30 30 30 31 39 31 ; 0000494100000191
00D0h: 38 30 31 31 31 30 30 37 35 33 31 30 30 30 31 B2 ; 801110075310001.
00E0h: E2 CA D4 C9 CC BB A7 5A 30 30 30 31 20 20 20 20 ; .......Z0001
00F0h: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ;
0100h: 20 20 20 20 20 20 20 31 35 36 30 32 37 30 30 30 ;        156027000
0110h: 30 30 32 30 30 30 33 30 30 30 30 30 30 30 30 30 ; 0020003000000000
0120h: 30 30 30 31 31 30 30 30 43 46 41 46 46 31 43 36 ; 00011000CFAFF1C6                

總結:相對終端則,平台則在組包、解析較為容易。

一般解析iso8583的開源代碼,沒有全部實作上面的類型,可能需要自己對源代碼進行修改。本人在參考j8583開源代碼,對其進行修改,基本實作上述功能,有感興趣可以給我留言。

源代碼:

    iso8583_cups:平台則

    iso8583_term:終端則

版權聲明:本文為CSDN部落客「weixin_34126557」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_34126557/article/details/91575892